プロセス列挙
すべてのユーザーは、システム内のプロセスの一覧に対する読み取りアクセス権を持ち、アクティブなプロセスを列挙するさまざまな関数が多数あります。 使用する必要がある関数は、必要なプラットフォームのサポートなどの要因によって異なります。
プロセスを列挙するには、次の関数を使用します。
機能 | 形容 |
---|---|
EnumProcessesの | システム内の各プロセス オブジェクトのプロセス識別子を取得します。 |
Process32First | システム スナップショットで最初に検出されたプロセスに関する情報を取得します。 |
Process32Next | システム スナップショットに記録された次のプロセスに関する情報を取得します。 |
WTSEnumerateProcessesをする | 指定したターミナル サーバー上のアクティブなプロセスに関する情報を取得します。 |
toolhelp 関数と enumProcesses 、すべてのプロセスを列挙します。 特定のユーザー アカウントで実行されているプロセスを一覧表示するには、WTSEnumerateProcesses を使用し、ユーザー SID でフィルター処理します。 セッション ID をフィルター処理して、他のターミナル サーバー セッションで実行されているプロセスを非表示にすることができます。
また、列挙関数に関係なく、OpenProcess、OpenProcessToken、および TokenUserを使用して GetTokenInformationをして、ユーザー アカウントでプロセスをフィルター処理することもできます。 ただし、アクセス権が付与されていない限り、セキュリティ記述子によって保護されているプロセスを開くことはできません。