我在程序中列出了进程名称。首先,我使用“EnumProcesses”来获取所有PID。然后我得到这样的Process名称:
hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, pid );
if( hProcess ) {
EnumProcessModules( hProcess, &hModule, sizeof(hModule), NULL);
GetModuleFileNameExW( hProcess, hModule, (LPWSTR)fileName, 100*sizeof(wchar_t) );
printf ("[%d] 0x%08X %d - %ws \n", i, hProcess, pid, fileName);
}
我可以在winxp中获得所有进程。但是,在Win7中,Some Process的句柄是NULL,所以我无法得到它的信息。像这样:
我不知道为什么。谁能告诉我为什么?谢谢。
答案 0 :(得分:3)
任一权限(您需要SEDebugPrivilege来枚举所有这些权限)或者您尝试从32位进程枚举64位进程