从电子申请中发送密钥?

时间:2018-01-27 02:09:51

标签: javascript node.js keyboard electron

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

它有几个问题。

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

  2. 即使从主窗口线程看起来它甚至看起来都不起作用。例如,这似乎没有做任何事情:

  3. 代码:

    setTimeout(function() {
        win.webContents.sendInputEvent({keyCode: 'Tab', type: 'keyDown', modifiers: ['alt']});
    }, 3000);
    
    1. 我想在 alt-tab之后发送一些关键笔划,并且API说该功能仅在窗口聚焦时才有效。
    2. 看起来RobotJS 可能可以为此工作,但对于其他语言中的一行(例如SendKeys.Send)来说似乎有点笨拙。此外,它看起来需要手动构建它。总而言之,我尽可能地将绝对依赖计数保持在最低限度。

      有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

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

它具有您需要的所有功能,即使您从电子窗口上散焦后也可以使用。唯一的警告是它在后台使用Java Runtime