我已经使用electronic + node.js制作了一个桌面应用程序。 有时Windows会执行自动更新并重新启动OS。 我想防止Windows 10在软件中保存数据(数据库处于联机状态,因此需要花费一些时间)之前重新启动。
现在,我正在使用以下代码来防止窗口关闭。保存数据后,我调用ipcMain.on('',function())方法并将lockwindow设置为true,然后调用window close方法。 它通常在正常关闭窗口或使用快捷键关闭窗口时起作用。 但是问题是需要一些时间才能将数据上传到数据库!
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
})
谢谢。
答案 0 :(得分:0)
看看窗口事件,特别是close
and beforeunload
。
您将只有有限的时间才能使系统重新启动。
如果操作系统或用户决定终止您的应用程序,那么无论如何都会发生这种情况(您也可能因不擅长游戏而生气/激怒用户)。
最后,您是否希望您的应用程序成为未安装某些关键安全更新的原因?
HTH