You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Node.js中使用JavaScript编程模拟按下Windows+PrtScr组合键

Node.js环境模拟Windows+PrtScr组合键的实现方案

Node.js本身没有提供原生的操作系统级按键模拟API,需要借助第三方原生扩展库实现,以下是两种可直接落地的实现方式:

方案1:使用robotjs库(推荐,原生扩展性能更高)

robotjs是常用的桌面自动化控制库,支持模拟键鼠操作,兼容Windows/Mac/Linux三大系统。

  • 前置依赖:Windows环境需要先安装编译工具,执行命令:npm install -g windows-build-tools
  • 安装命令:npm install robotjs
  • 代码示例:
const robot = require("robotjs");

// 模拟Win+PrtScr触发函数
function triggerWinPrtScr() {
  // 按下Windows键
  robot.keyToggle("win", "down");
  // 触发PrtScr按键
  robot.keyTap("printscreen");
  // 松开Windows键
  robot.keyToggle("win", "up");
}

// 你的onclick事件绑定逻辑里直接调用triggerWinPrtScr()即可

触发后截图会自动保存到Windows默认的截图目录:此电脑\图片\截图。

方案2:使用node-key-sender库(无需编译原生扩展)

该库依赖系统的按键发送机制,不需要编译原生模块,兼容性更好,缺点是需要系统有Java运行环境。

  • 安装命令:npm install node-key-sender
  • 代码示例:
const ks = require('node-key-sender');

async function triggerWinPrtScr() {
  await ks.sendCombination(['windows', 'print_screen']);
}

注意事项

  • 如果你的项目是Electron开发的桌面应用,也可以直接使用Electron内置的desktopCapturerAPI直接捕获屏幕,不需要依赖第三方库模拟按键,可自定义截图的保存路径和格式。
  • 所有模拟按键操作都需要Node.js进程拥有正常的系统权限,部分安全防护软件可能会拦截此类操作。
  • 如果是Web前端页面的onclick事件触发,无法直接调用Node.js接口,需要搭配Electron、后端服务接口转发等方式实现调用。

内容的提问来源于stack exchange,提问作者Yash Singhal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 21:00:04