如何防止(延迟)OS(Windows 10)关闭电子窗口?

时间:2019-12-18 13:09:11

标签: node.js electron

我已经使用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
    })

谢谢。

1 个答案:

答案 0 :(得分:0)

看看窗口事件,特别是close and beforeunload

您将只有有限的时间才能使系统重新启动。

如果操作系统或用户决定终止您的应用程序,那么无论如何都会发生这种情况(您也可能因不擅长游戏而生气/激怒用户)。

最后,您是否希望您的应用程序成为未安装某些关键安全更新的原因?

HTH