您现在的位置是:首页 > 正文

Electron + Vue 实现输入法自动刷字数

2024-02-29 13:34:38阅读 0
  • 思路:循环使用 robotjs 库模拟键盘点击,从而实现输入法刷自动刷字数的功能。

安装依赖

npm i robotjs

Vue 代码

  • 在 Vue 中编写一个文本域用来聚焦输入法焦点。
  • 思路:当我们按下 S 键时,给 Electron 发送消息告诉 Electron 开始刷字数; 当我们按下 E 键时,告诉 Electron 停止自动刷。
<template>
  <textarea @keyup.stop="onKeyup"></textarea>
</template>
<script setup>
// 键盘输入
const onKeyup = e => {
  switch (e.code) {
    case 'KeyS':
      // 给 Electron 发送消息,开始刷字数
      // ipcRenderer.invoke('wordNum', { type: 'start'})
      break
    case 'KeyE':
      // 给 Electron 发送消息,结束刷字数
      // ipcRenderer.invoke('wordNum', { type: 'end' })
      break
    default:
      break
  }
}
</script>

Electron 代码

import robot from 'robotjs'

let wordNumStatus = true
// 开始刷数量
const startBrushNum = () => {
  setTimeout(() => {
    robot.keyTap('a') // a: 表示键盘 A 键
    wordNumStatus && startBrushNum()
  }, 1000)
}
// 键盘输入字数
const wordNumAction = ({ type }) => {
  switch (type) {
    case 'start':
      wordNumStatus = true
      startBrushNum()
      break
    case 'end':
      wordNumStatus = false
      break
  }
}

总结

  • 通过以上思路可以确定关键点在于 robotjs 库触发键盘模拟点击。
  • 所以更加简单的方法就是使用 NodeJs, 在 NodeJs 中引入 robotjs 库模拟点击,一样可以实现刷字数。
  • 不过需要引入 keypress 来监听键盘输入(其中一种库,还有其它库可以监听)。
  • Electron + Vue 如果有代码细节不清楚,参考 Electron + Vue 实现源码

网站文章

  • golang 实现简单的栈

    golang 实现简单的栈

    第一种 基于[]inttype Stack []int// pushfunc (s *Stack) Push(a int) { *s = append(*s, a)}// popfunc (s *Stack) Pop() int { a := (*s)[len(*s)-1] *s = (*s)[:len(*s)-1] return a}// lenfunc (s *...

    2024-02-29 13:34:31
  • 【NO.90】LeetCode HOT 100—448. 找到所有数组中消失的数字

    448. 找到所有数组中消失的数字

    2024-02-29 13:33:58
  • '\b'退格符号笔记

      今天在给小孩儿讲for循环输出最后一个输出项没有空格的情况  借助标记,选择在第二个至最后一个的输出项前添加空格1 int flag = 0;2 for(int i = 0; i < n; i++) {3 if(flag == 0) cout << a[i];4 else cout << ' ' << ...

    2024-02-29 13:33:51
  • Python多线程获取小米应用商店App,看看我是怎么做到的(干货篇)

    Python多线程获取小米应用商店App,看看我是怎么做到的(干货篇)

    一、【项目背景】小米应用商店给用户发现最好的安卓应用和游戏,安全可靠,可是要下载东西要一个一个的搜索太麻烦了。而且速度并不是很快。今天小编就教大家利用多线程爬取小米应用商店的游戏模块,快速获取我们想要...

    2024-02-29 13:33:45
  • 特检院计算机网络需求分析,呼伦贝尔市特检所开展质量管理体系文件宣贯培训工作-体系文件...

    3月4日呼伦贝尔市特种设备检验所质量管理体系文件宣贯培训班如期举行。此次宣贯培训是该所2016年工作计划安排中的一项重要内容,所领导班子成员、各检验业务科室和综合管理科室人员参加了学习。此次培训内容是...

    2024-02-29 13:33:15
  • Numpy教程

    Numpy教程

    前言参见:What is NumpyNumpy是Python科学计算的基本包,它提供一个多维数组对象及各种派生对象(如屏蔽的数组和矩阵)以及一系列用于数组快速操作的例程,包括数学、逻辑、形状操作、排序...

    2024-02-29 13:33:08
  • 深入理解计算机系统------第八章fork函数运用

    深入理解计算机系统------第八章fork函数运用

    近期学到了深入理解计算机系统基础第八章异常控制流,接下来说一说在这一章C位出道的fork()函数吧。 fork函数 父进程通过调用fork函数来创建一个新的运行的子进程。 #include #include pid_t fork(void); 返回:子进程返回0,父进程返回子进程的PID,如果创建出错,返回-...

    2024-02-29 13:33:01
  • GrapeCity Documents for Excel, .NET Crack

    GrapeCity Documents for Excel, .NET Crack

    在.NET、.NET Core、.NET Framework、Mono、Xamarin.iOS和Xamarin.Android的应用程序中使用。基于Excel的文档对象模型-基于接口的API允许您导入...

    2024-02-29 13:32:55
  • maven指令

    (1)打包的时候去掉test测试代码:mvn clean install -Dmaven.test.skip

    2024-02-29 13:32:25
  • uni-app开发教程之swiper组件使用教程

    uni-app开发教程之swiper组件使用教程

    Uniapp是一款跨平台的开发框架,可以用于开发微信小程序、H5、App等多种应用。其中,swiper组件是一种非常常用的组件,可以实现轮播图、图片滑动等效果。本文将详细介绍如何在Uniapp中使用swiper组件。

    2024-02-29 13:32:18