CListCtrl* pList = (CListCtrl*)GetDlgItem(IDC_LIST);
pList->DeleteAllItems();
pList->SetRedraw(FALSE);
//获得当前进程的快照
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if ((HANDLE)-1 == hSnapshot)
{
return;
}
//进程信息
PROCESSENTRY32 ProcessInfo;
ProcessInfo.dwSize = sizeof(PROCESSENTRY32);
int n = 0;
//获得快照中第一个进程
BOOL bResult = Process32First(hSnapshot, &ProcessInfo);
if (!bResult)
{
return;
}
while (bResult)
{
//进程的可执行文件名
pList->InsertItem(n, ProcessInfo.szExeFile);
//进程的ID
CString strText= _T("");
strText.Format(_T("%08X"), ProcessInfo.th32ProcessID);
pList->SetItemText(n, 1, strText);
//获得快照中下一个进程
bResult = Process32Next(hSnapshot, &ProcessInfo);
n++;
}
//关闭快照
CloseHandle(hSnapshot);
pList->SetRedraw(TRUE);
浙公网安备 33010602011771号