我有一个可执行文件的路径,它是一个正在运行的服务应用程序
例如: C:\Program Files (x86)\Someapp\somesvc.exe
我想停下来启动它,为此我想我需要得到服务的名称,因为它在[this]回答中列出.
我可能通过迭代所有服务的所有注册表项HKLM\System\CurrentControlSet\Services,并检查ImagePath注册表项是否与我的可执行路径匹配来获得此功能.
这个解决方案应该可行,但对我来说似乎不对.有一个更好的方法吗?
使用EnumServicesStatus()或EnumServicesStatusEx()枚举已安装的服务.这将给你每个服务的名称,但不是它的名称ImagePath.要检索它,您可以使用打开每个服务OpenService(SERVICE_QUERY_CONFIG),然后ImagePath使用它QueryServiceConfig().
| 归档时间: |
|
| 查看次数: |
894 次 |
| 最近记录: |