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

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

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

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

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

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

【问题讨论】:

    标签: electron keyboard-shortcuts


    【解决方案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

    【讨论】:

      猜你喜欢
      • 2018-10-18
      • 1970-01-01
      • 2016-05-25
      • 1970-01-01
      • 2015-08-22
      • 2023-03-19
      • 2014-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多