Electron主进程里怎么监听窗口关闭事件?
我在用 Electron 开发桌面应用,想在用户点击窗口右上角关闭按钮时做一些清理操作,比如保存数据。但不知道怎么在主进程里正确监听这个事件。
试过用 mainWindow.on('close', ...),但好像没生效,或者触发时机不对?是不是应该用别的事件?
这是我的窗口创建代码:
const mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
preload: path.join(__dirname, 'preload.js')
}
});
mainWindow.on('close', () => {
console.log('窗口要关闭了');
// 想在这里做点事
});
close事件没问题,但你想阻止关闭做清理的话得调event.preventDefault(),完事再mainWindow.destroy()。如果不需要阻止关闭,只是监听,用
closed事件也行,那是窗口关掉之后触发的。