electron windows robotjs 安装教程

前言

robotjs可以控制鼠标键盘,获取屏幕内容,配合electron可做很多自动化操作。windows下配置环境有很多坑,很多文章都太旧了。试了很多次发现了一个简单的环境安装办法。

/* 演示版本 win11 */
"node":"20.10.0"
"electron": "^26.1.0"
"robotjs": "^0.6.0"

首先看一下官方给出的教程(github地址)

  • Windows

    • windows-build-tools
    #  from an elevated PowerShell or CMD.exe
    npm install --global --production windows-build-tools
    
  • Mac

    • Xcode Command Line Tools.
  • Linux

    • Python (v2.7 recommended, v3.x.x is not supported).

    • make.

    • A C/C++ compiler like GCC.

    • libxtst-dev and libpng+±dev

      sudo apt-get install libxtst-dev libpng++-dev
      

很难受,windows-build-tools 我安装了半天都没安装上。

看了很多文章后,学到了个新办法,接下来开始教程。


第一步 : 安装python

版本好像得3.6以上,我安装的是3.7.9 , 下载安装包,勾选 Add to path 即可。python华为镜像链接 国内下载快

C:\Users\Administrator>python
Python 3.7.9 (tags/v3.7.9:13c94747c7, Aug 17 2020, 18:58:18) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

第二步 : 安装Visual Studio 2022

这一步只是安装c++编译环境(windows-build-tools是在安装这个VC++环境和python。实测可以通过手动安装python加vsc替代,满速且简单无差错,缺点是大了点,不过卸载也方便),robotjs经常需要构建兼容版本(electron-rebuild或者postinstall)。我下载的是社区版vs2022 官方下载地址。打开后勾选C++桌面开发,注意右侧还需手动勾选一项windows sdk。

在这里插入图片描述

第三步 : 安装robotjs

注意配置镜像源,如果有下载node-headers错误,换源(淘宝源不行,我改用cnpm源就行了)。yarn推荐使用yrm,npm用nrm

# 有可能出现这个错误,换源即可解决,我用淘宝的不行,换了cnpm源就可以了
gyp http GET https://npm.taobao.org/dist/v26.5.0/node-v26.5.0-headers.tar.gz     
gyp http 404 https://cdn.npmmirror.com/binaries/node/v26.5.0/node-v26.5.0-headers.tar.gz     
gyp WARN install got an error, rolling back install

安装robotjs

# npm
npm i robotjs
# yarn
yarn add robotjs

如果用的是electron-builder,可以添加这个命令,出现node版本不匹配的时候用这个命令构建一下即可

"scripts": {
	...
    "postinstall": "electron-builder install-app-deps"
},

如果不是,可以安装 electron-rebuild, 用这个来构建

yarn add electron-rebuild -D
yarn electron-rebuild
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
发出的红包

打赏作者

holden丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值