您的位置:首页 > 编程语言 > C#

C# 关闭其他程序窗口、进程

2015-01-15 04:52 302 查看

在进行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);

原始来源未知
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: