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

问题描述:

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

可能吗?

TIA。

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

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