Electron官网文档里面:https://www.electronjs.org/docs/api/app?#apprequestsingleinstancelock

图片alt

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()
  })
}