C#完成封閉其他法式窗口或過程代碼分享。本站提示廣大學習愛好者:(C#完成封閉其他法式窗口或過程代碼分享)文章只能為提供參考,不一定能成為您想要的結果。以下是C#完成封閉其他法式窗口或過程代碼分享正文
在停止winform開辟進程中有時刻會須要封閉其他法式或許封閉過程,之前寫過一篇相干引見的文章,明天有同事問起來,因而在次翻出來和年夜家分享一下。
上面引見我所知的兩種辦法,應當對年夜家有贊助,假如有同伙曉得其他的辦法,感謝同享一下。
辦法1
ProcName 須要封閉的過程稱號
private bool closeProc(string ProcName) { bool result = false; System.Collections.ArrayList procList = new System.Collections.ArrayList(); string tempName = ""; foreach (System.Diagnostics.Process thisProc in System.Diagnostics.Process.GetProcesses()) { tempName = thisProc.ProcessName; procList.Add(tempName); if (tempName == ProcName) { if (!thisProc.CloseMainWindow()) thisProc.Kill(); //當發送封閉窗口敕令有效時強行停止過程 result = true; } } return result; }
下面法式裡界說了一個ArrayList,當不曉得所要封閉的過程的詳細稱號的時刻,可以將ArrayList 中的值放到一個listbox或其他的控件外面用來選擇過程停止停止。
辦法2
在類體中的最上方聲明:
[DllImport("user32.dll", CharSet=CharSet.Auto)] public static extern int SendMessage(int hWnd, int msg, int wParam, int lparam); //SendMessage(hwnd1,WM_CLOSE,0,0); //hwnd1是你用findwindow函數前往的句柄值 //wm_close界說在winuser.h外面 //0x0010是 WM_CLOSE的值 SendMessage(hwnd1,0x0010,0,0);