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 错误。
网络上无数其他在此期间也未解决的经验证明了这一想法。
我的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 错误。
网络上无数其他在此期间也未解决的经验证明了这一想法。