电子过程在关闭后保持运行

时间:2019-03-14 09:12:07

标签: node.js process electron

在关闭我的Electron应用程序进程后,继续运行。 这是我的代码:

  label: 'Close', click() {
    app.quit()
  }

  window.on('close', function (e) {
    var choice = require('electron').dialog.showMessageBox(this,
      {
        type: 'question',
        buttons: ['Yes', 'No'],
        title: 'Confirm',
        message: 'Are you sure you want to quit?'
      });
    if (choice == 1) {
      e.preventDefault();
    }
  })

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您正在防止关闭事件的默认行为。 (e.PreventDefault())

您不应在关闭事件上要求用户确认。 window.on('close')事件的目的是执行清除任务,例如删除临时文件,如果window是父窗口,则关闭其他相关进程。

您可以通过以下方式编写它:

label: 'Close', click() {
    var choice = require('electron').dialog.showMessageBox({
    type: 'question',
    buttons: ['Yes', 'No'],
    title: 'Confirm',
    message: 'Are you sure you want to quit?'
}, (response) => {
    if (response == '0') {
        app.quit()
    }
})

window.on('close', function (e) {
   window = null // Clean up your window object. 
})