EnumProcesses プロセスの列挙

Cの宣言:

BOOL EnumProcesses(
	DWORD *ProcessIDs,
	DWORD ProcessIDSize,
	DWORD *ReturnSize);

説明:

現在システムに存在するプロセスの一覧を列挙し、それらのプロセスのプロセスIDの配列をProcessIDsに格納する。

引数の意味は以下の通り。
ProcessIDs (OUT) 列挙されたプロセスIDの配列。
ProcessIDSize (IN) ProcessIDsのサイズ。
ReturnSize (OUT) ProcessIDsに設定されたデータのサイズ、またはProcessIDsに必要なサイズ。

戻り値は、関数の実行に成功したか否かを表す真偽値である。

Cのサンプル:

現在起動されている全てのプロセスのプロセスIDを取得し、これを列挙する。
/* 現在起動しているプロセスのIDの一覧を表示 */
void DispProcessIDs()
{
	DWORD ProcessIDs[1000]; /* プロセスIDの一覧 */
	DWORD ProcessNum; /* 取得したプロセスIDの数 */
	DWORD ReturnSize; /* プロセスID一覧の取得結果のサイズ */
	DWORD i;

	/* プロセスIDの一覧と数を取得 */
	EnumProcesses(ProcessIDs, sizeof(ProcessIDs), &ReturnSize);
	ProcessNum = ReturnSize / sizeof(DWORD);
	
	/* 取得結果の表示 */
	for(i=0; i<ProcessNum; i++) {
		printf("%x\n", ProcessIDs[i]);
	}
}

(original text:1999/01/06 更新)

本ドキュメントの内容は保証しません。本ドキュメントによって生じた結果について、一切の責任を負いません。