代码之家  ›  专栏  ›  技术社区  ›  Feyyaz Phill Pafford

Windows服务中的ServiceController

  •  0
  • Feyyaz Phill Pafford  · 技术社区  · 14 年前

    我正在尝试使用serviceController.getServices()方法获取所有服务的列表。在控制台应用程序中,它工作正常,但如果在Windows服务中调用此方法,则会得到一个空列表。这似乎是一个身份验证问题,但我使用了所有的帐户选项(本地系统、本地服务、网络服务、用户[这是本地管理员]),运气不好。

    有什么建议吗?

    谢谢

    1 回复  |  直到 14 年前
        1
  •  1
  •   Hans Passant    14 年前

    同意,这必须是用户帐户权限问题。枚举需要通过调用本机OpenSCManager()API函数开始。这是一个非常有特权的功能,sdk文档注意到需要管理员访问。您必须配置该服务并给它一个管理员登录名。听起来你已经试过了。稍微担心一下UAC,然后在serverfault.com(据推测是安全专家之家)询问更多关于它的问题。