71 lines
2.1 KiB
Markdown
71 lines
2.1 KiB
Markdown
# globalShortcut
|
||
|
||
> 当应用程序没有键盘焦点时检测键盘事件。
|
||
|
||
进程: [Main](../glossary.md#main-process)
|
||
|
||
`globalShortcut` 模块可以便捷的为你设置(注册/注销)各种自定义操作的快捷键。
|
||
|
||
**注意:** 使用此模块注册的快捷键是系统全局的(QQ截图那种), 不要在应用模块(app module)响应 `ready`
|
||
消息前使用此模块(注册快捷键)。
|
||
|
||
```javascript
|
||
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` [Accelerator](accelerator.md)
|
||
* `callback` Function
|
||
|
||
注册 `accelerator` 快捷键。当用户按下注册的快捷键时将会调用 `callback` 函数。
|
||
|
||
当 accelerator 已经被其他应用程序占用时,此调用将
|
||
默默地失败。这种行为是操作系统的意图,因为它们没有
|
||
想要应用程序争取全局快捷键。
|
||
|
||
### `globalShortcut.isRegistered(accelerator)`
|
||
|
||
* `accelerator` [Accelerator](accelerator.md)
|
||
|
||
返回 `Boolean` - 查询 `accelerator` 快捷键是否已经被注册过了,将会返回 `true` 或 `false`。
|
||
|
||
当 accelerator 已经被其他应用程序占用时,此调用将
|
||
默默地失败。这种行为是操作系统的意图,因为它们没有
|
||
想要应用程序争取全局快捷键。
|
||
|
||
### `globalShortcut.unregister(accelerator)`
|
||
|
||
* `accelerator` [Accelerator](accelerator.md)
|
||
|
||
注销全局快捷键 `accelerator`。
|
||
|
||
### `globalShortcut.unregisterAll()`
|
||
|
||
注销本应用程序注册的所有全局快捷键。
|