很简单,在一个列表框控件中显示进程列表:
PROCESSENTRY32 pe;
HANDLE hSnapshot=CreateToolhelp32Snapshot
int index;
m_prolist.ResetContent();
Process32First(hSnapshot,&pe);
do{
index=m_prolist.AddString(pe.szExeFile);
m_prolist.SetItemData(index,pe.th32ProcessID);
}while(Process32Next(hSnapshot,&pe));
CloseHandle(hSnapshot);
那么当用户选择一个进程需要终止这个进程的时候:
int index;
index=m_prolist.GetCurSel();
DWORD data=m_prolist.GetItemData(index);
HANDLE hProcess=OpenProcess(PROCESS_TERMINATE,FALSE,data);
// CString str;
// str=m_prolist.
// MessageBox("真的结束");
if(hProcess)
TerminateProcess(hProcess,0);
前面的OpenProcess的作用就是防止在调用TerminateProcess函数的时候程序已经终止。
当然你也可以写一个刷新函数以动态显示进程,毕竟进程是在不断变化的。