程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#完成封閉其他法式窗口或過程代碼分享

C#完成封閉其他法式窗口或過程代碼分享

編輯:C#入門知識

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);
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved