返回顶部

electron+vue——区分窗口普通关闭和强制退出

js:

import { app, BrowserWindow } from "electron";

let mainWindow = null;
...
function createWindow() { // 创建浏览器窗口 mainWindow = new BrowserWindow({ width: 1000, height: 600, webPreferences: { nodeIntegration: true, // 是否启用 Node.js 集成 contextIsolation: true, // 是否启用上下文隔离,启用时,需通过preload.js安全暴露 ipcRenderer preload: path.join(__dirname, "preload.js"), }, }); // 监听窗口关闭事件 mainWindow.on("close", (e) => { e.preventDefault(); // 先阻止默认关闭行为 mainWindow.webContents.send("window-close"); // 发送事件到渲染进程 }); } ... // 主进程准备完毕 app.on("ready", async () => { createWindow();
    // 统信系统,强制退出,不会再触发mainWindow的close事件
    process.on("SIGTERM", () => {
      mainWindow.destroy();
      mainWindow = null;
    });
});
...

 

posted @ 2025-10-14 11:05  前端-xyq  阅读(2)  评论(0)    收藏  举报