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);

    

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值