我尝试使用ServiceController.GetServices()方法来获取所有服务的列表。在控制台应用程序中,它工作正常,但如果我在windows服务中调用此方法,则会得到一个空列表。这似乎是一个身份验证问题,但我使用了所有的帐户选项(本地系统,本地服务,网络服务,用户是本地管理员),没有运气。
有什么建议吗?
谢谢
发布于 2010-07-09 20:51:43
同意,这必须是用户帐户权限问题。枚举需要通过调用本机OpenSCManager() API函数开始。这是一个特权很高的函数,SDK文档指出需要管理员访问权限。您必须配置该服务,并为其提供管理员登录。听起来你已经试过了。稍微担心一下UAC,然后在serverfault.com上询问更多关于它的问题,这里被认为是安全专家的家。
https://stackoverflow.com/questions/3212271
复制相似问题