Electron只限制启动一次应用

xiaohai 2021-06-09 11:04:48 5274人围观 标签: Electron 
简介有时候我们并不想让自己的应用能多次进行启动,所以本文主要讲解下如何限制Electron的应用多次被启动。

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