一个结束进程的例子

[cpp]
#include <Psapi.h>
#pragma comment(lib, "Psapi.lib")

//////////////////////////////////////////////////////////////////////////
//查找进程
DWORD FindProcess(char *strProcessName)
{
DWORD aProcesses[1024], cbNeeded, cbMNeeded;
HMODULE hMods[1024];
HANDLE hProcess;
char szProcessName[MAX_PATH];
if ( !EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded ) ) return 0;
for(int i=0; i< (int) (cbNeeded / sizeof(DWORD)); i++)
{
hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, aProcesses[i]);
EnumProcessModules(hProcess, hMods, sizeof(hMods), &cbMNeeded);
GetModuleFileNameEx( hProcess, hMods[0], szProcessName,sizeof(szProcessName));

if(strstr(szProcessName, strProcessName))
{
return(aProcesses[i]);
}
}
return 0;
}

//////////////////////////////////////////////////////////////////////////
//结束进程 0成功
int KillProcess()
{
HANDLE hYourTargetProcess = OpenProcess(PROCESS_TERMINATE, FALSE, FindProcess("QQ.exe"));

if(hYourTargetProcess == NULL) return -1;

if(TerminateProcess(hYourTargetProcess, 0)) return 0;
else return -1;
}
[/cpp]