Win32API プロセスIDを列挙する EnumProcesses

プロセスIDを列挙する

使用するAPI

  • EnumProcesses
  • #include <windows.h>
    #include <psapi.h>
    
    #pragma comment(lib, "psapi.lib")
    
    int main()
    {
    	DWORD dwProcessIds[256];
    	DWORD dwNeeded;
    	BOOL bRet;
    	DWORD dwIndex;
    	DWORD dwCount;
    
    	//存在しているプロセスIDを取得する
    	bRet = EnumProcesses(dwProcessIds,
    		sizeof(dwProcessIds)/sizeof(dwProcessIds[0]),
    		&dwNeeded);
    
    	if (!bRet) {
    		return 1;
    	}
    
    	//プロセスIDの数を算出する
    	dwCount = dwNeeded / sizeof(DWORD);
    
    	//プロセスIDを表示する
    	for (dwIndex = 0; dwIndex < dwCount; dwIndex++) {
    		printf("pid = %u\n", dwProcessIds[dwIndex]);
    	}
    
    	return 0;
    }