2026-05-01 20:39:09 +08:00
|
|
|
import { app } from 'electron/main'
|
2026-04-19 14:18:20 +08:00
|
|
|
|
2026-05-01 20:39:09 +08:00
|
|
|
let initialized = false
|
2026-04-19 14:18:20 +08:00
|
|
|
|
|
|
|
|
export function initSingleInstance(onSecondInstance?: () => void): boolean {
|
|
|
|
|
if (initialized) {
|
2026-05-01 20:39:09 +08:00
|
|
|
return true
|
2026-04-19 14:18:20 +08:00
|
|
|
}
|
|
|
|
|
|
2026-05-01 20:39:09 +08:00
|
|
|
initialized = true
|
|
|
|
|
const hasLock = app.requestSingleInstanceLock()
|
2026-04-19 14:18:20 +08:00
|
|
|
if (!hasLock) {
|
2026-05-01 20:39:09 +08:00
|
|
|
return false
|
2026-04-19 14:18:20 +08:00
|
|
|
}
|
|
|
|
|
|
2026-05-01 20:39:09 +08:00
|
|
|
app.on('second-instance', () => {
|
|
|
|
|
onSecondInstance?.()
|
|
|
|
|
})
|
2026-04-19 14:18:20 +08:00
|
|
|
|
2026-05-01 20:39:09 +08:00
|
|
|
return true
|
2026-04-19 14:18:20 +08:00
|
|
|
}
|