From 911eb980afd59744eadb4d40cc82c8e7f1b114c9 Mon Sep 17 00:00:00 2001 From: Pierce Thompson Date: Wed, 28 Jun 2023 15:49:05 -0400 Subject: [PATCH] Use the Windows registery again to get running Steam process --- src/main/services/steam.service.ts | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/main/services/steam.service.ts b/src/main/services/steam.service.ts index 6ff6cd52..0f3eea7e 100644 --- a/src/main/services/steam.service.ts +++ b/src/main/services/steam.service.ts @@ -26,11 +26,21 @@ export class SteamService{ return SteamService.instance; } - public async steamRunning(): Promise{ - return await psList() - .then(processes => !!processes.find(process => process.cmd.includes('steam'))) - .catch(e => {log.error(e); throw e}) + public async getActiveUser(): Promise{ + const res = await regedit.promisified.list(["HKCU\\Software\\Valve\\Steam\\ActiveProcess"]); + const keys = res?.["HKCU\\Software\\Valve\\Steam\\ActiveProcess"]; + if(!keys?.exists){ throw "Key \"HKCU\\Software\\Valve\\Steam\\ActiveProcess\" not exist"; } + return (keys.values?.ActiveUser.value || undefined) as number; + } + + public async steamRunning(): Promise{ + if (process.platform === 'win32') { + return !!(await this.getActiveUser()); } + return await psList() + .then(processes => !!processes.find(process => process.cmd.includes('steam'))) + .catch(e => {log.error(e); throw e}) + } public async getSteamPath(): Promise{