BOOL KillProcess(
IN DWORD dwProcessId
)
{
// получаем описатель процесса
HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, dwProcessId);
if (hProcess == NULL)
return FALSE;
DWORD dwError = ERROR_SUCCESS;
// пытаемся завершить процесс
if (!TerminateProcess(hProcess, (DWORD)-1))
dwError = GetLastError();
// закрываем описатель процесса
CloseHandle(hProcess);
SetLastError(dwError);
return dwError == ERROR_SUCCESS;
}
А получить список процессов можно
http://www.rsdn.ru/article/qna/baseserv/enumproc.xml