我需要得到Windows系统上所有进程的列表,包括名称和PID。
EnumProcess可以获得一个pid列表,但是如何从pid获取进程名称?我不想在进程上调用OpenProcess,因为这并不总是工作(就像其他进程由不同的用户运行一样)。
EnumProcess可以获得一个pid列表,但是如何从pid获取进程名称?我不想在进程上调用OpenProcess,因为这并不总是工作(就像其他进程由不同的用户运行一样)。
Ý您可以使用
ToolHelp API获取所有正在运行的进程的进程标识符和名称。
以下代码将显示每个进程的pid和名称。
原文链接:https://www.f2er.com/windows/372285.html以下代码将显示每个进程的pid和名称。
void showProcessInformation() { HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); if(hSnapshot) { PROCESSENTRY32 pe32; pe32.dwSize = sizeof(PROCESSENTRY32); if(Process32First(hSnapshot,&pe32)) { do { printf("pid %d %s\n",pe32.th32ProcessID,pe32.szExeFile); } while(Process32Next(hSnapshot,&pe32)); } CloseHandle(hSnapshot); } }