...
大前端 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
yarn 设置淘宝镜像 yarn 错误There appears to be trouble with your network connection. Retrying... win11 安装限制去除 跳过TPM CPU检测 附软件 win11 桌面不满足要求水印去除 适用于跳过TPM CPU检测安装后的桌面水印 php正则获取网页中的json update批量修改 mysql update select 用法实例