电子app.makeSingleInstance允许无限制的实例

时间:2017-02-13 15:37:52

标签: javascript electron electron-builder

我的 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构建我的应用。

谢谢。

2 个答案:

答案 0 :(得分:1)

这开始工作了一段时间,我已经将Electron升级了几次,所以我不得不认为这是1.4以下版本中的Electron bug。

网上的无数其他经历在此期间也没有得到解决,这使得这个想法更加可信。

答案 1 :(得分:0)

...
// 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):dominikfiala's comment