JavaScriptでelectronを使用し、閉じるの動作をキャンセルしたい
発生している問題
Windowは消えるがプロセスは残っている
Windowが消える前にキャンセルしたい
該当のソースコード
javascript
1const { app, dialog, Menu, BrowserWindow } = require("electron"); 2const path = require("path"); 3 4const window = {}; 5 6const createWindow = () => { 7 const mainWindow = new BrowserWindow({ 8 width: 800, 9 height: 600, 10 resizable: true, 11 useContentSize: true, 12 webPreferences: { 13 preload: path.join(__dirname, "preload.js"), 14 }, 15 }); 16 17 const menuTemplate = Menu.buildFromTemplate([ 18 { 19 label: "ファイル", 20 submenu: [ 21 { role: "close", label: "閉じる" } 22 ] 23 }, 24 { 25 label: "開発者用", 26 click: () => { mainWindow.webContents.openDevTools(); } 27 } 28 ]); 29 30 Menu.setApplicationMenu(menuTemplate); 31 mainWindow.loadFile(path.join(__dirname, "index.html")); 32 33 window.main = mainWindow; 34}; 35 36app.on("ready", createWindow); 37 38app.on("before-quit", (event) => { 39 event.preventDefault(); 40 }); 41 42app.on("activate", () => { 43 if (BrowserWindow.getAllWindows().length === 0) { 44 createWindow(); 45 } 46}); 47
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
Windows x64
Node: v18.12.1
npm: 8.19.2
nvm: 1.1.10
├── @electron-forge/cli@6.0.3
├── @electron-forge/maker-deb@6.0.3
├── @electron-forge/maker-rpm@6.0.3
├── @electron-forge/maker-squirrel@6.0.3
├── @electron-forge/maker-zip@6.0.3
├── @types/fs-extra@9.0.13 extraneous
├── asar@3.2.0 extraneous
├── electron-installer-common@0.10.3 extraneous
├── electron-squirrel-startup@1.0.0
├── electron@21.3.1
├── tmp-promise@3.0.3 extraneous
├── tmp@0.2.1 extraneous
└── word-wrap@1.2.3 extraneous

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/11/26 10:29