用Electron开发桌面应用的时候,先点击打开一个应用,当再次点击这个图标时,能够检测到当前已有的打开窗口,直接把那个窗口打开,而不是再新建一个窗口,代码如下:
const gotTheLock = app.requestSingleInstanceLock()
if (!gotTheLock) {
app.quit()
}
else{
app.on('second-instance', (event, commandLine, workingDirectory) => {
// 用户正在尝试运行第二个实例,我们需要让焦点指向我们的窗口
if (win) {
win.show();
if (win.isMinimized()) win.restore()
win.focus()
}
// 命令行是一个字符串数组,其中最后一个元素是深度链接的URL。
dialog.showErrorBox('Welcome Back', `You arrived from: ${commandLine.pop()}`)
})
}