void CEmnuprocessDlg::ListProcess() { HANDLE hProcessSnap=NULL; PROCESSENTRY32 pe32; //获得句柄 hProcessSnap = CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS,0); if( hProcessSnap == (HANDLE)-1) { //printf("\nCreateToolhelp32Snapshot() failed:%d",GetLastError ()); AfxMessageBox ("CreateToolhelp32Snapshot() failed!"); }
pe32.dwSize = sizeof(PROCESSENTRY32); //列据进程名称 if( Process32First (hProcessSnap,&pe32) ) { do{ m_ctrlListProcesses.AddString ( pe32.szExeFile ); } while(Process32Next (hProcessSnap,&pe32)); } else {
AfxMessageBox ("Process32finst() failed!");
// printf("\nProcess32finst() failed:%d",GetLastError ()); } CloseHandle (hProcessSnap); }
注:在StdAfx加入所用到的头文件tlhelp32.h 
|