...
大前端 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
js localStorage 创建、清除、获取 php微信公众号开发之扫码关注并登陆的实现方法 element el-form 二级数组多维数组的rules验证配置方法,遇到数组如何配置rules clipboard.js不依赖flash剪切板操作库 分享一个领红包插件代码