mirror of
https://github.com/imsyy/SPlayer.git
synced 2025-11-25 11:29:26 +08:00
26 lines
703 B
TypeScript
26 lines
703 B
TypeScript
|
|
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;
|
|||
|
|
};
|