我使用electron + node.js制作了一个桌面应用程序。有时Windows会自动更新并重新启动操作系统。我想阻止Windows 10重新启动,直到数据保存在软件中(数据库在线,所以需要一些时间来存储数据)。
现在,我使用下面的代码来防止窗口关闭。保存数据后,我调用ipcMain.on('',function())方法,并使lockwindow为true,然后我调用窗口关闭方法。当正常关闭窗口或使用快捷键关闭窗口时,它会工作。但在强制关闭或studown/restart的情况下,不会发出此事件
mainWindow.on('close', event => {
if (lockWindow) {
mainWindow.webContents.send('save', '');
mainWindow.webContents.once('dom-ready', () => {
mainWindow.webContents.send('save', '');
});
event.preventDefault();
createdialogWindow();
} else
mainWindow = null
})
谢谢您的支持。
1条答案
按热度按时间sczxawaw1#
查看窗口事件,特别是
close
和beforeunload
。在系统自行重新启动之前,您只有有限的时间。
如果操作系统或用户决定杀死你的应用程序,这是什么会发生无论如何(你也可以心烦意乱/愤怒的用户没有发挥好)。
最后,您是否希望您的应用程序成为某些关键安全更新未安装的原因?
高温