Electron如何做到点击桌面图标只打开一个应用?

向各位大牛请教一下,
用Electron开发桌面应用的时候,能不能做到点击桌面图标只打开一个应用?
比如说,我先点击打开一个应用,当我再次点击这个图标时,能够检测到我当前已有的打开窗口,直接把那个窗口打开,而不是再新建一个窗口呢

阅读 8.8k
3 个回答

electron 单开

有一个 app.makeSingleInstance(callback)方法,你可以参考下。

官方例子:

const {app} = require('electron')
let myWindow = null

const shouldQuit = app.makeSingleInstance((commandLine, workingDirectory) => {
  // Someone tried to run a second instance, we should focus our window.
  if (myWindow) {
    if (myWindow.isMinimized()) myWindow.restore()
    myWindow.focus()
  }
})

if (shouldQuit) {
  app.quit()
}

// Create myWindow, load the rest of the app, etc...
app.on('ready', () => {
})
app.on('activate', function () {
    if (mainWindow === null) {
        createMainWindow();
    }
});

你好,我遇到了一个问题,我想限制当前应用只打开一个,但是,我同时在程序中使用了,自动更新,但是自动更新安装的时候会出现问题,更新下载之后的程序无法正常安装。这个问题你遇到了吗?应该如何解决。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏