Sep 17th, 2003, 02:40 AM
Kill Process + VB.NET
Hi I am using the following code to get the list of all the running processes.
Dim proc As Process
For Each proc In Process.GetProcesses
Now I can't find a way to kill the process selected in the listbox. I think it fills the listbox with the name of exe.
Sep 17th, 2003, 04:11 AM
To ask the process nicely to close use
If Process.CloseMainWindow Then
'\\ Process closed itself
To force it to die use:
Kill forces a termination of the process, while CloseMainWindow only requests a termination. When a process with a graphical interface is executing, its message loop is in a wait state. The message loop executes every time a Windows message is sent to the process by the operating system. Calling CloseMainWindow sends a request to close to the main window, which, in a well-formed application, closes child windows and revokes all running message loops for the application. The request to exit the process by calling CloseMainWindow does not force the application to quit. The application can ask for user verification before quitting, or it can refuse to quit. To force the application to quit, use the Kill method. The behavior of CloseMainWindow is identical to that of a user closing an application's main window using the system menu. Therefore, the request to exit the process by closing the main window does not force the application to quit immediately.
Data edited by the process or resources allocated to the process can be lost if you call Kill. Kill causes an abnormal process termination and should be used only when necessary. CloseMainWindow enables an orderly termination of the process and closes all windows, so it is preferable for applications with an interface. If CloseMainWindow fails, you can use Kill to terminate the process. Kill is the only way to terminate processes that do not have graphical interfaces.
You can call Kill and CloseMainWindow only for processes that are running on the local computer. You cannot cause processes on remote computers to exit. You can only view information for processes running on remote computers.
Sep 17th, 2003, 06:12 AM
Thanks Merrion I already read that in MSDN and then I also found that ones what I want to terminate haven't got any window so it's a background process.
So I guess I need to use the kill method but it won't work and I am getting an error which basically mean a type mismatch.
I have made sure that the variable is declared as a process.
Also if someone can show me how to use Try and Catch system with this one. I mean try closing it with close window and if it doesn't work then force to kill. since I just started using VB.NET I can't make it work right.
Click Here to Expand Forum to Full Width
Survey posted by VBForums.