打开程序路径
public void StartApp(string path)
{
if (!isClick)
return;
print("点击了");
isClick = false;
pc = Process.Start(path);
pc.EnableRaisingEvents = true;
pc.Exited += new EventHandler(myProcess_Exited);
string[] str = path.Split('\\');
if (Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Ledfin"))
{
File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Ledfin\\Info.txt", str[str.Length-1]);
}
else
{
Directory.CreateDirectory((Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Ledfin"));
File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Ledfin\\Info.txt", str[str.Length-1]);
}
}
关闭程序,注意程序名不需要exe的后缀
void KillProcess(string processName)
{
Process[] processes = Process.GetProcesses();
foreach (Process process in processes)
{
try
{
if (!process.HasExited)
{
if (process.ProcessName == processName)
{
process.Kill();
UnityEngine.Debug.Log("已杀死进程");
}
}
}
catch (System.InvalidOperationException)
{
}
}
}
将选定程序设置为最前面显示
[DllImport("User32.dll")]
private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll")]
private static extern IntPtr GetForegroundWindow();
[DllImport("User32.dll")]
private static extern bool SetForegroundWindow(IntPtr hWnd);
[DllImport("User32.dll")]
private static extern bool ShowWindowAsync(IntPtr hWnd, int cmdShow);
public void SetFront()
{
IntPtr hwnd = FindWindow(null, "JYParkBigShip");
if (hwnd == IntPtr.Zero)
{
return;
}
IntPtr activeWndHwnd = GetForegroundWindow();
if (hwnd != activeWndHwnd)
{
ShowWindowAsync(hwnd, 3);
SetForegroundWindow(hwnd);
}
}
|