ElectronでglobalShortcutモジュール登録グローバルショートカット
2118 ワード
ElectronではglobalShortcutモジュールを使用してグローバルショートカットキーを登録し、微信やQQでショートカットキーを押してウィンドウを呼び出す機能を実現します.
ショートカットキーはアプリケーションのロードが完了した後に登録され、アプリケーションが終了する前にショートカットキーの登録をキャンセルします.以下はコード実装です.
メインプロセスファイルmain.jsコード:
メインプロセスjsに導入するglobalShortcut.jsファイルコード:
ショートカットキーはアプリケーションのロードが完了した後に登録され、アプリケーションが終了する前にショートカットキーの登録をキャンセルします.以下はコード実装です.
メインプロセスファイルmain.jsコード:
// main.js
const { app, BrowserWindow } = require("electron");
const path = require("path");
const createWindow = () => {
//
const mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
// node
nodeIntegration: true,
//
contextIsolation: false,
// remote
enableRemoteModule:true,
}
});
//
mainWindow.loadFile(path.join(__dirname, "index.html"));
//
// mainWindow.loadURL('https://github.com');
//
mainWindow.webContents.openDevTools();
};
// , createWindow
require('./main/globalShortcut');
//
app.on("ready", createWindow);
// MacOS
app.on("window-all-closed", () => {
// MacOS
if (process.platform != "darwin") {
app.quit();
}
});
// MacOS
app.on("activate", () => {
if (BrowserWindow.getAllWindows.length == 0) {
createWindow();
}
})
メインプロセスjsに導入するglobalShortcut.jsファイルコード:
var { app, globalShortcut } = require("electron");
//
app.on("ready",function(){
//
globalShortcut.register("ctrl+e",function(){
console.log("ctrl+e");
//
});
globalShortcut.register("ctrl+d",function(){
console.log("ctrl+d");
//
});
//
console.log(globalShortcut.isRegistered("ctrl+e"));
console.log(globalShortcut.isRegistered("ctrl+d"));
});
//
app.on("will-quit",function(){
//
globalShortcut.unregister("ctrl+e");
globalShortcut.unregister("ctrl+d");
})