mirror of
https://github.com/vrcx-team/VRCX.git
synced 2026-04-06 00:32:02 +02:00
Fix Electron checking if game is running
This commit is contained in:
@@ -53,9 +53,11 @@ namespace VRCX
|
||||
|
||||
public override int QuitGame()
|
||||
{
|
||||
var processes = Process.GetProcessesByName("vrchat");
|
||||
var processes = Process.GetProcessesByName("VRChat");
|
||||
if (processes.Length == 1)
|
||||
processes[0].Kill();
|
||||
foreach (var process in processes)
|
||||
process.Dispose();
|
||||
|
||||
return processes.Length;
|
||||
}
|
||||
|
||||
@@ -288,7 +288,12 @@ namespace VRCX
|
||||
try
|
||||
{
|
||||
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)
|
||||
{
|
||||
|
||||
@@ -120,7 +120,14 @@ namespace VRCX
|
||||
return false;
|
||||
|
||||
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;
|
||||
|
||||
|
||||
@@ -121,6 +121,7 @@ namespace VRCX
|
||||
private static bool IsDuplicateProcessRunning(VrcxLaunchArguments launchArguments)
|
||||
{
|
||||
var processes = Process.GetProcessesByName("VRCX");
|
||||
var isDuplicateProcessRunning = false;
|
||||
foreach (var process in processes)
|
||||
{
|
||||
if (process.Id == Environment.ProcessId)
|
||||
@@ -145,10 +146,15 @@ namespace VRCX
|
||||
|
||||
var processArguments = ParseArgs(commandLine.Split(' '));
|
||||
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()
|
||||
|
||||
Reference in New Issue
Block a user