|
|
|
@ -1,5 +1,6 @@
|
|
|
|
|
using System.Diagnostics; |
|
|
|
|
using System.IO.Compression; |
|
|
|
|
using System.Runtime.InteropServices; |
|
|
|
|
using System.Text; |
|
|
|
|
|
|
|
|
|
namespace v2rayUpgrade |
|
|
|
@ -26,15 +27,15 @@ namespace v2rayUpgrade
|
|
|
|
|
Console.WriteLine(fileName); |
|
|
|
|
Console.WriteLine("In progress, please wait...(正在进行中,请等待)"); |
|
|
|
|
|
|
|
|
|
Thread.Sleep(10000); |
|
|
|
|
Thread.Sleep(5000); |
|
|
|
|
|
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
Process[] existing = Process.GetProcessesByName("v2rayN"); |
|
|
|
|
Process[] existing = Process.GetProcessesByName(V2rayN()); |
|
|
|
|
foreach (Process p in existing) |
|
|
|
|
{ |
|
|
|
|
var path = p.MainModule?.FileName ?? ""; |
|
|
|
|
if (path.StartsWith(GetPath("v2rayN"))) |
|
|
|
|
if (path.StartsWith(GetPath(V2rayN()))) |
|
|
|
|
{ |
|
|
|
|
p.Kill(); |
|
|
|
|
p.WaitForExit(100); |
|
|
|
@ -112,7 +113,16 @@ namespace v2rayUpgrade
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Console.WriteLine("Start v2rayN, please wait...(正在重启,请等待)"); |
|
|
|
|
Process.Start("v2rayN"); |
|
|
|
|
Thread.Sleep(3000); |
|
|
|
|
Process process = new() |
|
|
|
|
{ |
|
|
|
|
StartInfo = new() |
|
|
|
|
{ |
|
|
|
|
FileName = V2rayN(), |
|
|
|
|
WorkingDirectory = StartupPath() |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
process.Start(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static string GetExePath() |
|
|
|
@ -134,5 +144,20 @@ namespace v2rayUpgrade
|
|
|
|
|
} |
|
|
|
|
return Path.Combine(startupPath, fileName); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static string V2rayN() |
|
|
|
|
{ |
|
|
|
|
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) |
|
|
|
|
{ |
|
|
|
|
if (File.Exists(GetPath("v2rayN.exe"))) |
|
|
|
|
return "v2rayN"; |
|
|
|
|
else |
|
|
|
|
return "v2rayN.Desktop"; |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
return "v2rayN.Desktop"; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |