【问题标题】:Send keys from an electron application?从电子应用程序发送密钥?
【发布时间】:2019-03-22 00:40:07
【问题描述】:

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

它有几个问题。

  1. 好像只能从主窗口线程调用。当有人单击应用程序中的按钮时,我需要这样做。

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

代码:

setTimeout(function() {
    win.webContents.sendInputEvent({keyCode: 'Tab', type: 'keyDown', modifiers: ['alt']});
}, 3000);
  1. 我还想在 alt-tab 之后发送一些击键,API 说该功能只有在窗口获得焦点时才有效。

看起来 RobotJS 可能可以解决这个问题,但对于其他语言中的一行内容(例如SendKeys.Send)来说似乎有点笨拙。而且看起来它需要手动构建它。总而言之,如果可能的话,我试图将我的绝对依赖计数保持在最低限度。

有什么想法吗?

【问题讨论】:

    标签: javascript node.js keyboard electron


    【解决方案1】:

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

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

    它具有您需要的所有功能,即使在您从电子窗口中散焦后也能正常工作。唯一需要注意的是,它在后台使用 Java 运行时

    【讨论】:

      猜你喜欢
      • 2012-12-30
      • 1970-01-01
      • 2018-11-12
      • 1970-01-01
      • 2021-06-08
      • 2020-05-24
      • 2011-05-08
      • 2011-08-06
      • 2011-02-03
      相关资源
      最近更新 更多