本文實例講述了C#判斷某程序是否運行的方法,分享給大家供大家參考。
具體實現方法如下:
[DllImport("user32.dll")]private static extern boolSetForegroundWindow(IntPtr hWnd);[DllImport("user32.dll")]private static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);[DllImport("user32.dll")]private static extern bool IsIconic(IntPtr hWnd);// 消息函數[DllImport("user32.dll", EntryPoint = "PostMessageA")]public static extern bool PostMessage(IntPtr hWnd, int Msg, int wParam, int lParam);[DllImport("user32.dll")]public static extern IntPtr FindWindow(string strclassName, string strWindowName);[DllImportAttribute("user32.dll")]public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);public const int WM_SYSCOMMAND = 0x0112;public const int SC_MAXIMIZE = 0xF030;private string exeName = "SaoMiaoApp";public void SetForm(){ Process[] processes = Process.GetProcessesByName(exeName); if (processes.Length > 0) { IntPtr hWnd = processes[0].MainWindowHandle; if (IsIconic(hWnd)) ShowWindowAsync(hWnd, 9);// 9就是SW_RESTORE標志,表示還原窗體 //SendMessage(hWnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0); SetForegroundWindow(hWnd); } else { Process.Start(exeName + ".exe"); }}
希望本文所述對大家的C#程序設計有所幫助。
新聞熱點
疑難解答