如何:停止进程
更新:2007 年 11 月
可通过两种方法利用 Process 组件停止进程。使用哪种方法取决于所停止的进程的类型:
如果进程有图形用户界面,则调用 CloseMainWindow 方法。该方法向进程的主窗口发送一个关闭请求,其行为与从用户界面中选择“关闭”命令相同。使用该方法使目标程序有机会在清除操作中提示用户保存任何没有保存的数据。
如果进程没有用户界面,则调用 Kill 方法。
警告: 调用 Kill 方法将在不提示保存已更改数据的情况下,立即停止进程。任何没有保存的数据将丢失。
如果您希望组件在操作系统关闭进程时得到通知,必须将 EnableRaisingEvents 属性设置为 true。EnableRaisingEvents 属性用于在异步处理中向应用程序通知进程已退出。
停止进程
调用 GetProcessesByName 方法将检索要停止的进程。
有关更多信息,请参见如何:绑定到现有进程。
调用下列方法之一:
如果进程有用户界面,则调用 CloseMainWindow 方法。
如果进程无窗口,则调用 Kill 方法。
下面的示例演示如何通过调用 CloseMainWindow 方法来关闭本地计算机上当前运行的所有记事本实例:
Dim myProcesses() As Process Dim myProcess As Process ' Returns array containing all instances of "Notepad". myProcesses = Process.GetProcessesByName("Notepad") For Each myProcess In myProcesses myProcess.CloseMainWindow() Next
Process[] myProcesses; // Returns array containing all instances of Notepad. myProcesses = Process.GetProcessesByName("Notepad"); foreach (Process myProcess in myProcesses) { myProcess.CloseMainWindow(); }