加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#实现关闭其他程序窗口或进程代码分享

发布时间:2020-12-15 05:49:40 所属栏目:百科 来源:网络整理
导读:在进行winform开发过程中有时候会需要关闭其他程序或者关闭进程,以前写过一篇相关介绍的文章,今天有同事问起来,于是在次翻出来和大家分享一下。 下面介绍我所知的两种方法,应该对大家有帮助,如果有朋友知道其他的方法,谢谢共享一下。 方法1 ProcName 需

在进行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); 
 //hwnd1是你用findwindow函数返回的句柄值
 //wm_close定义在winuser.h里面
 //0x0010是 WM_CLOSE的值
 SendMessage(hwnd1,0x0010,0);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读