>How does one kill a process?
The preferred method is to send a WM_CLOSE message to the primary thread of the process (you need a thread ID, and then send the WM_CLOSE using the Win32 API call PostThreadMessage) to allow for noprmal termination; if you can get a Process handle with the PROCESS_TERMINATE permission, you can issue a TerminateProcess() API call to shut down the process, but in a very messy and immediate fashion - TerminateProcess() does not give the target process a chance to clear buffers, release resources and the like - it just causes it to die as quickly as possible. There is sample code in the FAQ and in my API_APPRUN class in the Files section for TerminateProcess(), and I think I posted sample code for PostThreadMessage in the Win32 section - if not, it's in a message I posted in the last couple of months.
There are also command line utilities like KILL.EXE that can be run to accomplish much the same thing, but you'll still need an OS-recognized identifier for the process (a ProcessID) to have it go and do the work for you. KILL.EXE is a part of the NT/Win2K Resource Kit.