Electron + React学习记录_09_项目实战-远程控制_5_控制事件的实现——robotjs

本文记录了使用Electron、React和robotjs开发远程控制项目的流程。首先介绍了控制事件的实现步骤,包括监听键鼠事件、处理组合键、按键转换和鼠标位置缩放。在 Electron 中,通过robotjs来处理主进程的控制操作,但遇到了ABI问题和编译坑,最终成功实现了基础的鼠标键盘事件监听。
摘要由CSDN通过智能技术生成

实现控制的流程

  1. 获取控制端的输入,
  2. 控制端的输入发送给傀儡端
  3. 傀儡端根据输入进行操作 渲染进程->主进程

robotjs帮我们实现第三步,首先是API文档
安装robotjs
再electron里输入process.versions
查到node的版本
先查询abi

//手动编译
npm rebuild —runtime=electron—disturl=https:/latom.io/download/atom-shell
—target=<electron版本>—abi=<对应版本abi>

//自动编译
npm install electron-rebuild --save-dev
npx electron-rebuild

先自动编译,失败再尝试手动
踩了不少坑,此时输入require(‘robotjs’)会报错

Uncaught Error: The module '\\?\D:\newutkal\node_modules\@serialport\bindings\build\Release\bindings.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 72. This version of Node.js requires
NODE_MODULE_VERSION 80. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).

//在main.js加一行
app.allowRendererProcessReuse = false
//这样就可以了

这是electron开发经常用到的一个技巧

先实现第一步

第一步最重要的是监听键鼠和鼠标事件,这是js常用命令了

  • window.onkeydown
  • window.onmouseup
    不过还有几个关键点
    键盘
  • shift,alt等组合键处理
  • 按键转换,把code转为按键(vkey)
    鼠标
  • 位置按比例缩放
//创建robot.js(https://robotjs.io/docs/syntax#keytapkey-modifier)
const {
   ipcMain} = require
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值