资讯专栏INFORMATION COLUMN

使用 Electron 注册键盘快捷键

Pink / 2602人阅读

摘要:使用注册键盘快捷键此系列文章的应用示例已发布于可以或下载后运行查看欢迎可以使用和模块定义键盘快捷键在中键盘快捷键被称作加速器它们可以分配到应用程序菜单中的操作上也可以全局分配,所以即使你的应用程序没有获得键盘焦点它们也可以被触发在浏览

使用 Electron 注册键盘快捷键

此系列文章的应用示例已发布于 GitHub: electron-api-demos-Zh_CN. 可以 Clone 或下载后运行查看. 欢迎 Star .

可以使用 globalShortcutMenu 模块定义键盘快捷键.

在 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()
})
高级技巧

避免覆盖系统范围的键盘快捷键.

注册全局快捷方式时, 请务必注意目标操作系统中的现有默认值, 以免覆盖任何现有行为.有关每个操作系统键盘快捷键的概述, 请查看这些文档:

macOS

Windows

Linux

如果这边文章对您有帮助, 感谢 下方点赞 或 Star GitHub: electron-api-demos-Zh_CN 支持, 谢谢.

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/81831.html

相关文章

  • Electron入门介绍

    摘要:本文主要讲解的入门。可以帮助我们管理包的下载依赖部署发布等。可以认为是中的。后续使用中,全部替换为即可。命令根据它,自动下载所需模块用于创建窗口和处理系统事件安装包的位置。 Electron是什么 可以认为Electron是一种运行环境库,我们可以基于此,用HTML、JS和CSS写桌面应用。PC端的UI交互,主要有web应用和桌面应用。具体采用哪种方式,主要看系统的应用场景,哪个更合适...

    wing324 评论0 收藏0
  • Electron】酷家乐客户端开发实践分享 — 入坑篇

    摘要:系列文章酷家乐客户端开发实践分享入坑篇酷家乐客户端开发实践分享软件自动更新酷家乐客户端开发实践分享浏览器启动客户端酷家乐客户端开发实践分享进程通信酷家乐客户端开发实践分享下载管理器不定期更新本文的初衷所使用的技术栈和前端工程师完美契合。 作者:钟离,酷家乐PC客户端负责人原文地址:https://webfe.kujiale.com/electron-ku-jia-le-ke-hu-d...

    jay_tian 评论0 收藏0
  • Electron】酷家乐客户端开发实践分享 — 入坑篇

    摘要:系列文章酷家乐客户端开发实践分享入坑篇酷家乐客户端开发实践分享软件自动更新酷家乐客户端开发实践分享浏览器启动客户端酷家乐客户端开发实践分享进程通信酷家乐客户端开发实践分享下载管理器不定期更新本文的初衷所使用的技术栈和前端工程师完美契合。 作者:钟离,酷家乐PC客户端负责人原文地址:https://webfe.kujiale.com/electron-ku-jia-le-ke-hu-d...

    TwIStOy 评论0 收藏0
  • 如何使用前端技术开发一个桌面跨端应用

    摘要:使用实现桌面应用实现离线可用很多方法,比如使用技术。还有一个好处,因为它完全基于来实现可以使用的一些新功能,那我们理论上可以在做桌面应用时顺手把应用也做了。 本文将会讲述一个完整的跨端桌面应用 代码画板 的构建,会涉及到整个软件开发流程,从开始的设计、编码、到最后产品成型、包装等。 本文不仅仅是一篇技术方面的专业文章,更会有很多产品方面的设计思想和将技术转换成生产力的思考,我将结合我自...

    shixinzhang 评论0 收藏0
  • 实录分享&视频 | 微软Visual Studio Code是这样支持Docker的

    摘要:分享嘉宾是来自微软云计算事业部的高级软件开发工程师刘鹏。是微软开源的一款开发工具,它针对做了许多编译和命令上的支持。今天主要向大家介绍一下微软去年推出的一个,以及对的一些支持。年他加入微软,从事开发的工作。 本文是数人云分布式架构的开源组件大选Meetup的实录分享。分享嘉宾是来自微软云计算事业部的高级软件开发工程师刘鹏。Visual Studio Code是微软开源的一款开发工具,它...

    leoperfect 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<