[DllImport("user32.dll ")]
private static extern bool SetForegroundWindow(IntPtr hWnd);
[DllImport("user32.dll")]
private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
//根據任務欄應用程序顯示的名稱找相應窗口的句柄
[DllImport("User32.dll", EntryPoint = "FindWindow")]
private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
private const int SW_RESTORE = 9;
private void OpenSerialPortUtility(object sender, EventArgs e)
{
//遍歷進程列表查找目標程序是否運行運行則前置否則啓動
Process[] pList = Process.GetProcesses(".");
bool b = false;
foreach (Process p in pList)
{
if (p.ProcessName == "wpfYourSystem")
{
b = true;
ShowWindow(p.MainWindowHandle, SW_RESTORE); //將窗口還原,如果不用此方法,縮小的窗口不能激活
break;
}
}
if (b == false)
{
System.Diagnostics.Process.Start(@"C:\Users\Administrator\Desktop\9.18測試\醫生端\Debug\wpfYourSystem.exe");
}
}