javascript - 从 Electron 应用程序发送 key ?

标签 javascript node.js keyboard electron

我能找到的唯一与此相关的是sendInputEvent .

它有几个问题。

  1. 看来只能从主窗口线程调用。我需要当有人单击应用程序中的按钮时发生这种情况。

  2. 即使在主窗口线程中,它似乎也根本不起作用。例如,这似乎没有做任何事情:

代码:

setTimeout(function() {
    win.webContents.sendInputEvent({keyCode: 'Tab', type: 'keyDown', modifiers: ['alt']});
}, 3000);
  • 我还想在 alt-tab 之后发送一些按键,API 表示该函数仅在窗口获得焦点时才起作用。
  • 看起来RobotJS可能可以解决这个问题,但是对于其他语言中的一行代码(例如SendKeys.Send)来说似乎有点粗暴。而且看起来它需要手动构建它。总而言之,如果可能的话,我会尽力将绝对依赖计数保持在最低限度。

    有什么想法吗?

    最佳答案

    我同意 RobotJS 是这项任务的野兽,相反我会选择 node-key-sender

    我也不会发送 ALT-TAB 击键,而是使用 window.hide()window.minimize。您可以在这里阅读更多信息:Electron API docs for minimize() and hide()

    它具有您需要的所有功能,甚至在您从 Electron 窗口上松开焦点后也能正常工作。唯一需要注意的是它在幕后使用 Java 运行时

    关于javascript - 从 Electron 应用程序发送 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48471933/

    相关文章:

    javascript - 如何将 map 以当前用户位置为中心(地理定位

    javascript - 如何获取安装的 npm 模块数量(开发依赖项除外)

    ios - 在自定义 UITableViewCell 中消除 UITextField 的问题

    c++ - 从 WM_CHAR 消息中获取虚拟键码

    javascript - 在 gridview 中显示选中复选框的数量

    javascript - 使用 jQuery 解析 JSON 数据

    node.js - 单引号在 package.json 中不起作用

    javascript - Dir步行获取各种文件的abs路径数组

    java - 两个 JPanel,请求焦点和键盘输入

    javascript - 代表同一产品 3 个不同价格的价格数组