mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-05-07 14:56:06 +02:00
Fix Electron checking if game is running
This commit is contained in:
@@ -53,9 +53,11 @@ namespace VRCX
|
|||||||
|
|
||||||
public override int QuitGame()
|
public override int QuitGame()
|
||||||
{
|
{
|
||||||
var processes = Process.GetProcessesByName("vrchat");
|
var processes = Process.GetProcessesByName("VRChat");
|
||||||
if (processes.Length == 1)
|
if (processes.Length == 1)
|
||||||
processes[0].Kill();
|
processes[0].Kill();
|
||||||
|
foreach (var process in processes)
|
||||||
|
process.Dispose();
|
||||||
|
|
||||||
return processes.Length;
|
return processes.Length;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -288,7 +288,12 @@ namespace VRCX
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
var processName = Path.GetFileNameWithoutExtension(filePath);
|
var processName = Path.GetFileNameWithoutExtension(filePath);
|
||||||
return Process.GetProcessesByName(processName).Length != 0;
|
var processes = Process.GetProcessesByName(processName);
|
||||||
|
var isProcessRunning = processes.Length != 0;
|
||||||
|
foreach (var process in processes)
|
||||||
|
process.Dispose();
|
||||||
|
|
||||||
|
return isProcessRunning;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -120,7 +120,14 @@ namespace VRCX
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (ensureCheck && process.Process == null)
|
if (ensureCheck && process.Process == null)
|
||||||
return Process.GetProcessesByName(processName).FirstOrDefault() != null;
|
{
|
||||||
|
var processes = Process.GetProcessesByName(processName);
|
||||||
|
var isProcessRunning = processes.Length > 0;
|
||||||
|
foreach (var proc in processes)
|
||||||
|
proc.Dispose();
|
||||||
|
|
||||||
|
return isProcessRunning;
|
||||||
|
}
|
||||||
|
|
||||||
return process.IsRunning;
|
return process.IsRunning;
|
||||||
|
|
||||||
|
|||||||
@@ -121,6 +121,7 @@ namespace VRCX
|
|||||||
private static bool IsDuplicateProcessRunning(VrcxLaunchArguments launchArguments)
|
private static bool IsDuplicateProcessRunning(VrcxLaunchArguments launchArguments)
|
||||||
{
|
{
|
||||||
var processes = Process.GetProcessesByName("VRCX");
|
var processes = Process.GetProcessesByName("VRCX");
|
||||||
|
var isDuplicateProcessRunning = false;
|
||||||
foreach (var process in processes)
|
foreach (var process in processes)
|
||||||
{
|
{
|
||||||
if (process.Id == Environment.ProcessId)
|
if (process.Id == Environment.ProcessId)
|
||||||
@@ -145,10 +146,15 @@ namespace VRCX
|
|||||||
|
|
||||||
var processArguments = ParseArgs(commandLine.Split(' '));
|
var processArguments = ParseArgs(commandLine.Split(' '));
|
||||||
if (processArguments.ConfigDirectory == launchArguments.ConfigDirectory)
|
if (processArguments.ConfigDirectory == launchArguments.ConfigDirectory)
|
||||||
return true;
|
{
|
||||||
|
isDuplicateProcessRunning = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
foreach (var process in processes)
|
||||||
|
process.Dispose();
|
||||||
|
|
||||||
return false;
|
return isDuplicateProcessRunning;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void IPCToMain()
|
private static void IPCToMain()
|
||||||
|
|||||||
Reference in New Issue
Block a user