C++ コードを使用して、どのユーザーが特定のサービスを実行しているかを知るにはどうすればよいですか? 私が書く必要のあるプログラムは、ローカル管理者アカウントで実行される可能性があるため、権限の問題は発生しないと思います。
出来ますか?
ティア。
C++ コードを使用して、どのユーザーが特定のサービスを実行しているかを知るにはどうすればよいですか? 私が書く必要のあるプログラムは、ローカル管理者アカウントで実行される可能性があるため、権限の問題は発生しないと思います。
出来ますか?
ティア。
現在実行中のサービスのユーザーが必要か、サービスのスタートアップ パラメーターで指定されたユーザーが必要かによって、Windows API のQueryServiceObjectSecurity関数とQueryServiceConfig関数をそれぞれ参照してください。
以下は私の提案ですが、私はそれらのどれも試していません。サービス構成レベルを SERVICE_CONFIG_SERVICE_SID_INFO に設定して QueryServiceConfig2 API を使用してから、LookupAccountSid APIを使用してサービスに関連付けられたアカウント名を見つけることができます。(または) ToolHelp API を使用して、すべてのプロセスを列挙し、プロセスに関連付けられているユーザー アカウントを特定することができます。