electron 如何防止(延迟)操作系统(Windows 10)关闭电子窗口?

pdtvr36n  于 2022-12-08  发布在  Electron
关注(0)|答案(1)|浏览(384)

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

谢谢您的支持。

sczxawaw

sczxawaw1#

查看窗口事件,特别是closebeforeunload
在系统自行重新启动之前,您只有有限的时间。
如果操作系统或用户决定杀死你的应用程序,这是什么会发生无论如何(你也可以心烦意乱/愤怒的用户没有发挥好)。
最后,您是否希望您的应用程序成为某些关键安全更新未安装的原因?
高温

相关问题