...
大前端 electron

electron 防止多开 只允许一个实例允许并在重复打开后显示第一个实例

在使用electron开始的时候,需要只允许一个实例允许
并且在重复打开后关闭重复程序后显示已经打开的程序获取焦点
实现方法很简单,要用到app.requestSingleInstanceLock

看代码

// main.js 防止多开  key:设置一个唯一的key
if (!app.requestSingleInstanceLock({ key: 'mykey' })) {
    // 如果获取单实例锁失败,表示应用程序已经在运行,可以关闭当前实例或执行其他逻辑
    app.quit();
} else {
    // 如果获取单实例锁成功,表示这是第一个实例,可以继续执行应用程序逻辑
    app.on('second-instance', (event, commandLine, workingDirectory) => {
        // 当尝试启动第二个实例时触发
        // 可以处理如窗口焦点、命令行参数等逻辑
        // 焦点切换到已运行的实例
        if (mainWindow) {
                //显示隐藏
           if (!mainWindow.isVisible()) mainWindow.show();
                //恢复最小化
           if (mainWindow.isMinimized()) mainWindow.restore();
                //获取焦点
           mainWindow.focus();
        }
    });
}

将上面的代码加入到main.js里

electron 阻止电脑休眠或者阻止显示器黑屏 小米手环解锁MacOS苹果笔记本MacBook Pro
biu biu biu
QQ音乐 qmc* | mgg | mflac 格式转换 ogg mp3 免费 【分享】网易云歌单或QQ音乐歌单歌名获取 js-实现文字滚动JQuery插件 marquee.js Marquee标签的jquery替代 css、js实现网页内容禁止选中,禁止网页选择文字 jQuery无缝滚动插件liMarquee