electron/docs-translations/zh-CN/api/global-shortcut.md

72 lines
2.1 KiB
Markdown
Raw Normal View History

2017-02-09 09:08:58 +00:00
# globalShortcut
2017-02-09 09:08:58 +00:00
> 当应用程序没有键盘焦点时检测键盘事件。
2017-02-09 09:08:58 +00:00
进程: [Main](../glossary.md#main-process)
`globalShortcut` 模块可以便捷的为你设置(注册/注销)各种自定义操作的快捷键。
**注意:** 使用此模块注册的快捷键是系统全局的(QQ截图那种), 不要在应用模块app module响应 `ready`
消息前使用此模块(注册快捷键)。
```javascript
2017-02-09 09:08:58 +00:00
const {app, globalShortcut} = require('electron')
2017-02-09 09:08:58 +00:00
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.
2017-02-09 09:08:58 +00:00
console.log(globalShortcut.isRegistered('CommandOrControl+X'))
})
2017-02-09 09:08:58 +00:00
app.on('will-quit', () => {
// Unregister a shortcut.
2017-02-09 09:08:58 +00:00
globalShortcut.unregister('CommandOrControl+X')
// Unregister all shortcuts.
globalShortcut.unregisterAll()
})
```
## Methods
2017-02-09 09:08:58 +00:00
`globalShortcut` 模块包含以下函数:
### `globalShortcut.register(accelerator, callback)`
* `accelerator` [Accelerator](accelerator.md)
* `callback` Function
2017-02-09 09:08:58 +00:00
注册 `accelerator` 快捷键。当用户按下注册的快捷键时将会调用 `callback` 函数。
当 accelerator 已经被其他应用程序占用时,此调用将
默默地失败。这种行为是操作系统的意图,因为它们没有
想要应用程序争取全局快捷键。
### `globalShortcut.isRegistered(accelerator)`
* `accelerator` [Accelerator](accelerator.md)
2017-02-09 09:08:58 +00:00
返回 `Boolean` - 查询 `accelerator` 快捷键是否已经被注册过了,将会返回 `true``false`
当 accelerator 已经被其他应用程序占用时,此调用将
默默地失败。这种行为是操作系统的意图,因为它们没有
想要应用程序争取全局快捷键。
### `globalShortcut.unregister(accelerator)`
* `accelerator` [Accelerator](accelerator.md)
2017-02-09 09:08:58 +00:00
注销全局快捷键 `accelerator`
### `globalShortcut.unregisterAll()`
2017-02-09 09:08:58 +00:00
注销本应用程序注册的所有全局快捷键。