这些年来,我一直成功地将EnumServicesStatus与OpenScManager (带有SC_MANAGER_ENUMERATE_SERVICE)结合使用,以获得计算机上安装的服务列表。从NT4到Vista,这一直运行得很好。
现在,由于某种原因,在Windows7中,我没有得到已安装服务的完整列表,但只获得了其中的一部分。没有错误,只是一个非常不完整的服务列表
Windows 7有什么变化吗?我现在是否需要管理权限来枚举服务(我希望不是这样)?使用Delphi2010,但相同的代码是D2007中的工作文件。
发布于 2010-03-18 18:03:05
我不认为这里有什么改变。这将导致与旧软件的巨大不兼容。但D2007使用的是ansi版本的ENUM_SERVICE_STATUSA,我认为D2010称之为unicode版本的ENUM_SERVICE_STATUSW。也许您正在对结果进行一些操作,假设在获取Unicode时结果是ANSI?只是猜测而已。
https://stackoverflow.com/questions/2192036
复制相似问题