Windows獲取當前所有進程的ID,NAME


 1 #include <Windows.h>
 2 #include <TlHelp32.h>
 3 #include <cstdio>
 4 #include <tchar.h>
 5 
 6 int _tmain(int argc, _TCHAR* argv[])
 7 {
 8     HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);//TH32CS_SNAPPROCESS: 快照當前系統中所有進程;
 9     if (hProcessSnap == FALSE)
10     {
11         printf("CreateToolhelp32Snapshot error");
12         return -1;
13     }
14     PROCESSENTRY32 pe32;
15     pe32.dwSize = sizeof(PROCESSENTRY32);//需要初始化dwSize,官方給出的說法是:If you do not initialize dwSize, Process32First fails.
16
17     BOOL bRet = Process32First(hProcessSnap, &pe32);//此函數檢索有關系統快照中遇到的第一個進程的信息。 18     while (bRet) 19  { 20         printf("[process name]:%ws\n", pe32.szExeFile);//由於szExeFile是DWORD,所以需要用ws來進行輸出、 21         printf("[PID]:%d\n\n", pe32.th32ProcessID); 22         bRet = Process32Next(hProcessSnap, &pe32);//獲取下一進程的信息,並送給bRect。 23  } 24     CloseHandle(hProcessSnap);
25     return 0; 26 }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM