electron/docs-translations/zh-CN/api/global-shortcut.md
2017-02-09 17:08:58 +08:00

2.1 KiB
Raw Blame History

globalShortcut

当应用程序没有键盘焦点时检测键盘事件。

进程: Main

globalShortcut 模块可以便捷的为你设置(注册/注销)各种自定义操作的快捷键。

注意: 使用此模块注册的快捷键是系统全局的(QQ截图那种), 不要在应用模块app module响应 ready 消息前使用此模块(注册快捷键)。

const {app, globalShortcut} = require('electron')

app.on('ready', () => {
  // Register a 'CommandOrControl+X' shortcut listener.
  const ret = globalShortcut.register('CommandOrControl+X', () => {
    console.log('CommandOrControl+X is pressed')
  })

  if (!ret) {
    console.log('registration failed')
  }

  // Check whether a shortcut is registered.
  console.log(globalShortcut.isRegistered('CommandOrControl+X'))
})

app.on('will-quit', () => {
  // Unregister a shortcut.
  globalShortcut.unregister('CommandOrControl+X')

  // Unregister all shortcuts.
  globalShortcut.unregisterAll()
})

Methods

globalShortcut 模块包含以下函数:

globalShortcut.register(accelerator, callback)

注册 accelerator 快捷键。当用户按下注册的快捷键时将会调用 callback 函数。

当 accelerator 已经被其他应用程序占用时,此调用将 默默地失败。这种行为是操作系统的意图,因为它们没有 想要应用程序争取全局快捷键。

globalShortcut.isRegistered(accelerator)

返回 Boolean - 查询 accelerator 快捷键是否已经被注册过了,将会返回 truefalse

当 accelerator 已经被其他应用程序占用时,此调用将 默默地失败。这种行为是操作系统的意图,因为它们没有 想要应用程序争取全局快捷键。

globalShortcut.unregister(accelerator)

注销全局快捷键 accelerator

globalShortcut.unregisterAll()

注销本应用程序注册的所有全局快捷键。