我能找到的唯一与此相关的是sendInputEvent .
它有几个问题。
看来只能从主窗口线程调用。我需要当有人单击应用程序中的按钮时发生这种情况。
即使在主窗口线程中,它似乎也根本不起作用。例如,这似乎没有做任何事情:
代码:
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/