此系列文章的应用示例已发布于 GitHub: electron-api-demos-Zh_CN. 能够 Clone 或下载后运行查看. 欢迎 Star .html
能够使用 globalShortcut
和 Menu
模块定义键盘快捷键.git
在 Electron 中, 键盘快捷键被称做加速器(Accelerator). 它们能够分配到应用程序菜单中的操做上, 也能够全局分配,因此即便你的应用程序没有得到键盘焦点, 它们也能够被触发.github
在浏览器中查看 Menu, Accelerator 和 globalShortcut API 的完整文档.windows
支持: Win, macOS, Linux | 进程: Mainapi
试一下这个示例, 在键盘上按下 Command或Control+Alt+K 快捷键.浏览器
即便应用程序没有键盘焦点, 也会检测到全局快捷键, 并且它们必须在应用程序的 ready
事件发出后注册.app
主进程electron
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() })
避免覆盖系统范围的键盘快捷键.ide
注册全局快捷方式时, 请务必注意目标操做系统中的现有默认值, 以避免覆盖任何现有行为.有关每一个操做系统键盘快捷键的概述, 请查看这些文档:ui
若是这边文章对您有帮助, 感谢 下方点赞 或 Star GitHub: electron-api-demos-Zh_CN 支持, 谢谢.