C#判斷某程序是否運行的方法
更新時間:2014年09月29日 11:05:33 投稿:shichen2014
這篇文章主要介紹了C#判斷某程序是否運行的方法,代碼結(jié)構(gòu)簡單功能實用,需要的朋友可以參考下
本文實例講述了C#判斷某程序是否運行的方法,分享給大家供大家參考。
具體實現(xiàn)方法如下:
[DllImport("user32.dll")] private static extern bool SetForegroundWindow(IntPtr hWnd); [DllImport("user32.dll")] private static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); [DllImport("user32.dll")] private static extern bool IsIconic(IntPtr hWnd); // 消息函數(shù) [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標(biāo)志,表示還原窗體 //SendMessage(hWnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0); SetForegroundWindow(hWnd); } else { Process.Start(exeName + ".exe"); } }
希望本文所述對大家的C#程序設(shè)計有所幫助。
相關(guān)文章
C#多線程學(xué)習(xí)之(四)使用線程池進(jìn)行多線程的自動管理
這篇文章主要介紹了C#多線程學(xué)習(xí)之使用線程池進(jìn)行多線程的自動管理,實例分析了C#中線程池的概念與相關(guān)的使用技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04