本文实例讲述了C#判断某程序是否运行的方法,分享给大家供大家参考。
具体实现方法如下:
[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); // 消息函数 [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#程序设计有所帮助。
本文地址:https://www.stayed.cn/item/26662
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我