我目前正在开发一个类似于聚光灯搜索的应用程序。其中一项功能是能够使用键盘快捷键(在本例中为 ctrl + D)调用搜索栏。我正在使用 electron.js 来创建它。为了创建全局快捷方式,我使用了以下内容:
app.whenReady().then(() => {
globalShortcut.register('CommandOrControl+D', () => {
if (mainWindow.isVisible() == false) {
mainWindow.show();
console.log("\nctrl + D was pressed\nmainWindow focused");
} else if (mainWindow.isVisible() == true) {
mainWindow.blur();
mainWindow.hide();
console.log("\nctrl + D was pressed\nmainWindow not focused")
}
})
})
在测试期间(使用electron-forge),我会输入命令electron-forge start
来临时运行程序,它运行良好,但是在运行electron-forge make
并运行exe文件后,快捷方式不再用于隐藏/模糊窗口,但它确实有效召唤窗户。
我尝试将 ctrl + D 命令更改为 ctrl + X (由电子推荐)和其他几个命令并重新制作项目以确保快捷方式未被使用,但没有运气。我也从 isFocused 而不是 isVisible 开始,即使在测试中也不起作用。
注意:我使用的是 Windows 10,有时在使用电子时,它的运行方式与 Mac 不同,尽管它在这个问题上确实不应该有所作为。