Electron-开发实践:注册快捷键
【前言】
本文介绍一下electron应用中如何注册快捷键
【主进程】
主进程注册快捷键比较简单,需要注意的是在app ready后使用,
常见键盘映射: https://www.electronjs.org/docs/latest/api/accelerator
// 注册
globalShortcut.register(shortcutKey, shortcutCallback);
// 取消注册
globalShortcut.unregister(shortcutKey);
另外在推出app时需要将所有注册的快捷键清理掉
app.on("will-quit", () => {
globalShortcut.unregisterAll();
});
【渲染进程】
要在渲染进程注册快捷键稍微复杂一些,
这里封装了一个npm包,欢迎使用: https://code.insistime.com/#/qiao-x-shortcut
主进程初始化ipc监听
import { shortcutIPCInit } from "qiao-x-shortcut";
shortcutIPCInit({
shortcutCallbackName: () => console.log("shortcutCallbackName from main process"),
});
preload相关
shortcut-preload.js
// electron
import { ipcRenderer } from "electron";
/**
* shortcutGlobalIPC
* @returns res
*/
export const shortcutGlobalIPC = async (shortcutKey, shortcutCallbackName) => {
return await ipcRenderer.invoke("ipc-shortcut-global", shortcutKey, shortcutCallbackName);
};
preload.js
// electron
import { contextBridge } from "electron";
// custom preload
import { shortcutGlobalIPC } from "./shortcut-preload.js";
// preload
contextBridge.exposeInMainWorld("electron", {
shortcutGlobalIPC,
});
渲染进程调用
await window.electron.shortcutGlobalIPC("Command+Control+X", "shortcutCallbackName");
效果
在渲染进程将快捷键Command+Control+X注册好了,
效果如下,每次按快捷键,主进程都会有日志打印
shortcutCallbackName from main process
shortcutCallbackName from main process
shortcutCallbackName from main process 相关推荐
Electron-开发实践:本地日志
【前言】 使用electron开发好本地应用后, 本地日志记录必不可少, 这样可以通过日志获取用户操作信息以及定位bug等, 本地日志与实时性的埋点上报稍微有不同, 本地日志量更大,信息更全,且不是所有信息都时候上报。 【与nodejs本地日志的异同】 electron写本地日志和nodejs写本地
Electron-开发实践:几种更新方式
【前言】 Electron开发桌面APP后, 接着涉及一个问题就是如何更新后续的版本, 本文介绍几种更新的方式。 【Electron架构】 用Electron开发的桌面APP, 其实包含几个部分: 1\. Electron本身的环境 2\. 主进程,主进程中又分为Nodejs部分,和非Nodejs部
Electron-开发实践:定制Mac菜单
【前言】 前面几篇文章讲了从开发electron应用到mac打包, 相关文章: 一篇文章学会Electron Electron开发实践:本地数据库SQLite Electron开发实践:使用Monorepo管理Electron项目 Electron开发实践:Mac打包 Electron开发实践:注册
Electron-开发实践:包体积精简
【前言】 前面几篇文章讲了从开发electron应用到mac打包, 相关文章: 一篇文章学会Electron Electron开发实践:本地数据库SQLite Electron开发实践:使用Monorepo管理Electron项目 Electron开发实践:Mac打包 Electron开发实践:注册
Electron-开发实践:DMG安装包定制
【前言】 dmg文件是mac端常见的安装包格式, 前面几篇文章已经使用electron开发并打包好一个应用了, 本文主要讲下定制dmg安装包, 前面几篇文章: 一篇文章学会Electron Electron开发实践:本地数据库SQLite Electron开发实践:使用Monorepo管理Elect