Electron 全局快捷方式查找浏览器实例

Posted

技术标签:

【中文标题】Electron 全局快捷方式查找浏览器实例【英文标题】:Electron Global shortcut find browser instance 【发布时间】:2021-02-05 05:02:11 【问题描述】:

大家好,我使用的是 electron-globalshortcut

我想覆盖浏览器窗口的默认快捷方式“CTRL+W”,因为我有一些弹出窗口。

我遇到的问题是,当我像这样定义全局快捷方式时:

 globalShortcut.register('CommandOrControl+W', () => 
    console.log('CommandOrControl+W is pressed')
  )

我如何了解它是什么浏览器实例?我怎样才能获得对正确浏览器窗口的引用

【问题讨论】:

【参考方案1】:

当您创建 BrowserWindow 时,您可以这样做

const window = new BrowserWindow(.../*Your options here*/);

所以,您可以将寄存器绑定到这个窗口变量:

window.on("focus", () => 
globalShortcut.register('CommandOrControl+W', () => 
    console.log('CommandOrControl+W is pressed');
  )
);

window.on("blur", () => 
globalShortcut.unregisterAll()
);

另外,建议在 ready 应用事件中调用寄存器。如果您有多个 BrowserWindow,则可以使用

检测当前焦点所在的一个
BrowserWindow.getFocusedWindow()

请参考https://www.electronjs.org/docs/api/browser-window

【讨论】:

以上是关于Electron 全局快捷方式查找浏览器实例的主要内容,如果未能解决你的问题,请参考以下文章

Electron开发:Electron 快捷键开发思路一览

使用electron为贪吃蛇游戏创建全局快捷键

electron打包生成linux快捷方式

Electron 应用程序的 Windows 文件夹快捷方式 - 获取该文件夹的路径?

electron实现qq快捷登录!

Electron菜单与快捷键