在用户点击窗口(BrowserWindow)右上角的关闭按钮时,想让用户确认是否的确要关闭,避免误操作。
分为以下几个步骤
- 阻止默认的关闭行为
- 通过对话框让用户选择作何操作
- 如果要退出则终止应用程序
以下代码及注释能较好的完成该需求
mainWindow.on('close', (e) => {
e.preventDefault(); // 必加,不然没有机会执行promise resolve的内容
const promise = dialog.showMessageBox({
type: 'info',
title: '提示',
message: '是否要退出?',
defaultId: 0, // buttons中默认选中的按钮
buttons: ['取消','直接退出']
});
promise.then(({response, checkboxChecked}) => {
if (response == 1) { // 直接退出
mainWindow = null;
app.exit(); // 终止应用程序
}
});
});