从电子申请中发送密钥?

问题描述 投票:1回答:1

我能找到的唯一与此相关的是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个回答
0
投票

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

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

它具有您需要的所有功能,即使在您从电子窗口取消聚焦后也能正常工作。唯一需要注意的是它在幕后使用Java Runtime

© www.soinside.com 2019 - 2024. All rights reserved.