robotJS 鼠标 moveMouseSmooth 调整速度

在使用robotJS过程中,发现了两个鼠标移动方法,moveMouse和moveMouseSmooth

其中moveMouse将会立即令鼠标出现在指定位置

moveMouseSmooth将会缓缓地移动鼠标到指定位置,起到更加像人类操作的目的。

但该方法在高分辨率屏幕(2k屏幕、4k屏幕下),移动速度过于缓慢。使用体验较差

那么有没有办法能够调整速度呢?

经过反复查看官网api,充分使用搜索引擎,均没有找到合适的方法

(github其官方文档中,该方法仅有两个参数)

因为盲猜其实现smooth是通过分点不断调用鼠标移动实现的,于是开启一言不合看源码模式

经过查看其源码中的方法入口处,发现确实存在第三个参数也就是speed,果然api里写的都是冰山一角。

于是开始顺藤摸瓜继续看源码。研究其实现,没办法,总得知道这个参数怎么使用

当然很轻易的在mouse.c文件中找到了smoothlyMoveMouse方法,该方法即为具体实现,可以看到speed参数是一个延时,

 

然后顺腾摸瓜,找到其应用,默认为3.0.那么我们在使用中传入一个比较小的值即可

 最后使用方法

   robot.moveMouseSmooth(left, top, 1); 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
electron-builder 是一个用于 Electron 应用程序的构建工具,可以将您的应用程序打包为各种不同的格式并自动化构建过程。要正确打包 robotjs,您需要在您的 Electron 项目中进行以下步骤: 1. 在您的 Electron 项目中安装 robotjs: ``` npm install robotjs --save ``` 2. 在您的 Electron 项目中的 package.json 文件中添加以下依赖项: ``` "dependencies": { "robotjs": "^0.6.0" }, "build": { "extraResources": [ { "from": "node_modules/robotjs/build", "to": "robotjs/build" } ] } ``` 3. 在您的 Electron 项目中的 main.js 文件中添加以下代码: ```javascript const path = require('path'); const { app, BrowserWindow } = require('electron'); const robot = require('robotjs'); // 让 robotjs 可以在 Electron 中正常工作 if (process.platform === 'win32') { process.env.ROBOTJS_X11_DISPLAY = ':0'; } // 初始化窗口 function createWindow() { const mainWindow = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true, contextIsolation: false, enableRemoteModule: true, }, }); // 加载应用程序的 index.html mainWindow.loadFile('index.html'); // 打印屏幕宽度和高度以测试 robotjs 是否正常工作 console.log('Screen width:', robot.getScreenSize().width); console.log('Screen height:', robot.getScreenSize().height); } // 在应用程序准备好时创建窗口 app.whenReady().then(() => { createWindow(); }); ``` 4. 打包您的 Electron 应用程序: ``` electron-builder build ``` 这将构建您的应用程序并将 robotjs 包含在内。请注意,由于 robotjs 使用了本机模块,因此您需要根据您的操作系统正确设置环境变量以使其正常工作。在 Windows 上,您需要设置 `ROBOTJS_X11_DISPLAY` 环境变量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值