如何知道哪个用户帐户运行特定的Windows服务?

时间:2010-08-22 15:33:27

标签: c++ windows-services user-accounts

通过使用C ++代码,我如何知道哪个用户运行特定服务?我需要编写的程序可能在本地管理员帐户下运行,所以我猜不会有权限问题。

有可能吗?

TIA。

2 个答案:

答案 0 :(得分:1)

根据您是需要当前正在运行的服务的用户还是服务启动参数中指定的用户,分别请参阅Windows API中的QueryServiceObjectSecurityQueryServiceConfig函数。

答案 1 :(得分:0)

以下是我的建议,但我没有尝试过任何一个。 您可以将QueryServiceConfig2 API与服务配置级别设置为SERVICE_CONFIG_SERVICE_SID_INFO,然后使用LookupAccountSid API查找与该服务关联的帐户名称。 (或)您可以使用ToolHelp API枚举所有流程并找出与流程关联的用户帐户。