在进行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);
如对本文有疑问, 点击进行留言回复!!
使用Visual Studio2019创建C#项目(窗体应用程序、控制台应用程序、Web应用程序)
C#实现获取本地内网(局域网)和外网(公网)IP地址的方法分析
网友评论