Vue Electron实现输入法自动刷字数功能详解
思路:循环使用 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 实现源码
到此这篇关于Vue Electron实现输入法自动刷字数功能详解的文章就介绍到这了,更多相关Vue Electron自动刷字数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
vue结合Axios+v-for列表循环实现网易健康页面(实例代码)
这篇文章主要介绍了vue结合Axios+v-for列表循环实现网易健康页面,在项目下安装axios,通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-03-03
客户端(vue框架)与服务器(koa框架)通信及服务器跨域配置详解
本篇文章主要介绍了客户端(vue框架)与服务器(koa框架)通信及服务器跨域配置详解,具有一定的参考价值,有兴趣的可以了解一下2017-08-08
axios中post请求json和application/x-www-form-urlencoded详解
Axios是专注于网络数据请求的库,相比于原生的XMLHttpRequest对象,axios简单易用,下面这篇文章主要给大家介绍了关于axios中post请求json和application/x-www-form-urlencoded的相关资料,需要的朋友可以参考下2022-10-10


最新评论