Close -> Dispose

This commit is contained in:
Natsumi
2025-10-22 12:58:38 +11:00
parent 482d8abd6d
commit 9547297a09
2 changed files with 12 additions and 31 deletions
+2 -3
View File
@@ -78,8 +78,7 @@ namespace VRCX
FileName = $"{path}\\steam.exe", FileName = $"{path}\\steam.exe",
UseShellExecute = false, UseShellExecute = false,
Arguments = $"-applaunch 438100 {arguments}" Arguments = $"-applaunch 438100 {arguments}"
}) })?.Dispose();
?.Close();
return true; return true;
} }
} }
@@ -122,7 +121,7 @@ namespace VRCX
FileName = path, FileName = path,
UseShellExecute = false, UseShellExecute = false,
Arguments = arguments Arguments = arguments
})?.Close(); })?.Dispose();
return true; return true;
} }
} }
+10 -28
View File
@@ -1,6 +1,7 @@
using System; using System;
using System.Diagnostics; using System.Diagnostics;
using System.IO; using System.IO;
using System.Linq;
namespace VRCX namespace VRCX
{ {
@@ -16,58 +17,40 @@ namespace VRCX
/// </summary> /// </summary>
public override void CheckGameRunning() public override void CheckGameRunning()
{ {
var isGameRunning = false; ProcessMonitor.Instance.IsProcessRunning("VRChat");
var isSteamVRRunning = false; ProcessMonitor.Instance.IsProcessRunning("vrserver");
if (ProcessMonitor.Instance.IsProcessRunning("VRChat"))
{
isGameRunning = true;
}
if (ProcessMonitor.Instance.IsProcessRunning("vrserver"))
{
isSteamVRRunning = true;
}
} }
public override bool IsGameRunning() public override bool IsGameRunning()
{ {
var processes = Process.GetProcessesByName("VRChat"); var processes = Process.GetProcessesByName("VRChat");
var isGameRunning = processes.Length > 0; var isGameRunning = processes.Length > 0;
foreach (var process in processes) foreach (var process in processes)
process.Dispose(); process.Dispose();
return isGameRunning; return isGameRunning;
} }
public override bool IsSteamVRRunning() public override bool IsSteamVRRunning()
{ {
// Check exact matches (fast - no full process scan needed)
var processNames = new[] { "vrmonitor", "monado-service" }; var processNames = new[] { "vrmonitor", "monado-service" };
foreach (var name in processNames) foreach (var name in processNames)
{ {
var processes = Process.GetProcessesByName(name); var processes = Process.GetProcessesByName(name);
var isSteamVRRunning = processes.Length > 0; var isSteamVRRunning = processes.Length > 0;
foreach (var process in processes) foreach (var process in processes)
process.Dispose(); process.Dispose();
if (isSteamVRRunning) if (isSteamVRRunning)
return true; return true;
} }
// Check for wivrn-server (requires full scan) // Check for wivrn-server (requires full scan)
var allProcesses = Process.GetProcesses(); var allProcesses = Process.GetProcesses();
var isRunning = false; var isRunning = allProcesses.Any(process => process.ProcessName.EndsWith("wivrn-server"));
foreach (var process in allProcesses)
{
if (process.ProcessName.EndsWith("wivrn-server"))
{
isRunning = true;
break;
}
}
foreach (var process in allProcesses) foreach (var process in allProcesses)
process.Dispose(); process.Dispose();
return isRunning; return isRunning;
} }
@@ -76,9 +59,9 @@ namespace VRCX
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) foreach (var process in processes)
process.Dispose(); process.Dispose();
return processes.Length; return processes.Length;
} }
@@ -86,13 +69,12 @@ namespace VRCX
{ {
try try
{ {
var process = Process.Start(new ProcessStartInfo Process.Start(new ProcessStartInfo
{ {
FileName = "steam", FileName = "steam",
Arguments = $"-applaunch 438100 {arguments}", Arguments = $"-applaunch 438100 {arguments}",
UseShellExecute = false, UseShellExecute = false,
}); })?.Dispose();
process?.Dispose();
return true; // Steam accepted launch command (no exception thrown) return true; // Steam accepted launch command (no exception thrown)
} }
catch (Exception e) catch (Exception e)