Files
SPlayer/electron/main/utils/single-lock.ts

26 lines
703 B
TypeScript
Raw Normal View History

import { app } from "electron";
import { systemLog } from "../logger";
import mainWindow from "../windows/main-window";
/**
*
* @returns true false
*/
export const initSingleLock = (): boolean => {
const gotTheLock = app.requestSingleInstanceLock();
// 如果未获得锁,退出当前实例
if (!gotTheLock) {
app.quit();
systemLog.warn("❌ 已有一个实例正在运行");
return false;
}
// 当第二个实例启动时触发
else {
app.on("second-instance", () => {
systemLog.warn("❌ 第二个实例将要启动");
mainWindow.getWin()?.show();
});
}
return true;
};