Electron app.makeSingleInstance 允许无限实例

Electron app.makeSingleInstance is allowing unlimited instances

我的Main.js代码是:

let mainWindow = null;

const shouldQuit = app.makeSingleInstance((commandLine, workingDirectory) => {
  // Someone tried to run a second instance, we should focus our window.
  if (mainWindow) {
    if (mainWindow.isMinimized()){
      mainWindow.restore();
    }
    mainWindow.show();
    mainWindow.focus();
  } 
});

if (shouldQuit) {
  app.quit();
}

这与 Electron 文档以及我在网上可以找到的所有示例基本相同。其他人遇到过这个问题吗?我在网上看到很多人说这个代码对他们不起作用。

我正在使用 Electron-Builder 构建我的应用程序。

谢谢。

...
// Force Single Instance Application
const shouldQuit = app.makeSingleInstance((commandLine, workingDirectory) => {
    // Someone tried to run a second instance, we should focus our window.
    if (win) {
        if (win.isMinimized()) win.restore()
        win.focus()
    }
})

if (shouldQuit) {
    app.quit()
    return
}

...

参考文献:app.makeSingleInstance(callback): and dominikfiala's comment

这在一段时间前就开始工作了,此后我升级了 Electron 几次,所以我不得不假设这是 1.4 以下版本中的 Electron 错误。

网络上无数其他在此期间也未解决的经验证明了这一想法。