プログラムにプロセス名をリストします。まず、「EnumProcesses」を使用してすべてのPIDを取得します。次に、次のようなプロセス名を取得します。
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では、一部のプロセスのハンドルがNULLであるため、その情報を取得できません。このような:
何故かはわからない。誰が私に理由を教えてくれますか?ありがとうございました。