Electron官网文档里面:https://www.electronjs.org/docs/api/app?#apprequestsingleinstancelock
const { app } = require('electron')
let myWindow = null
const gotTheLock = app.requestSingleInstanceLock()//获取锁
if (!gotTheLock) {//如果获取失败,说明已经有实例存在,那么就退出当前的应用即可
app.quit()
} else {//否则就执行下面的
// 当运行第二个实例时,将会聚焦到myWindow这个窗口
app.on('second-instance', (event, commandLine, workingDirectory) => {
if (myWindow) {
if (myWindow.isMinimized()) myWindow.restore()
myWindow.focus()
}
})
// 创建 myWindow, 加载应用的其余部分, etc...
app.whenReady().then(() => {
myWindow = createWindow()
})
}