我在C#中创建简单的服务管理器,因为我们将服务创建为应用程序的扩展。我能够通过exe文件路径获取已安装服务的列表,但愿望清单中的功能之一是识别未安装的给定路径中的服务,并使用安装按钮列出它们。
有没有办法识别exe文件是否是Windows服务?
答案 0 :(得分:2)
服务没有特殊属性也没有属性,检测.exe是否为服务的唯一方法是查看它是否调用其中一个服务函数。将StartServiceCtrlDispatcher
作为字符串查找可能是最佳选择。
注意:如果有人知道您正在寻找这个,他们可以轻松地“加密”StartServiceCtrlDispatcher字符串并在运行时使用GetProcAddress
绑定到该函数。