使用 Electron 注册键盘快捷键
此系列文章的应用示例已发布于 GitHub: electron-api-demos-Zh_CN. 可以 Clone 或下载后运行查看. 欢迎 Star .
可以使用 globalShortcut
和 Menu
模块定义键盘快捷键.
在 Electron 中, 键盘快捷键被称作加速器(Accelerator). 它们可以分配到应用程序菜单中的操作上, 也可以全局分配,所以即使你的应用程序没有获得键盘焦点, 它们也可以被触发.
在浏览器中查看 Menu, Accelerator 和 globalShortcut API 的完整文档.
注册全局键盘快捷键
支持: Win, macOS, Linux | 进程: Main
试一下这个示例, 在键盘上按下 Command或Control+Alt+K 快捷键.
即使应用程序没有键盘焦点, 也会检测到全局快捷键, 而且它们必须在应用程序的 ready
事件发出后注册.
主进程
const electron = require('electron')
const app = electron.app
const dialog = electron.dialog
const globalShortcut = electron.globalShortcut
app.on('ready', function () {
globalShortcut.register('CommandOrControl+Alt+K', function () {
dialog.showMessageBox({
type: 'info',
message: '成功!',
detail: '你按下了一个全局注册的快捷键绑定.',
buttons: ['好的']
})
})
})
app.on('will-quit', function () {
globalShortcut.unregisterAll()
})
高级技巧
避免覆盖系统范围的键盘快捷键.
注册全局快捷方式时, 请务必注意目标操作系统中的现有默认值, 以免覆盖任何现有行为.有关每个操作系统键盘快捷键的概述, 请查看这些文档:
如果这边文章对您有帮助, 感谢 下方点赞 或 Star GitHub: electron-api-demos-Zh_CN 支持, 谢谢.