我正在尝试使用ServiceController通过WinForms应用程序访问Windows服务(也是由我创建的) :
service = new System.ServiceProcess.ServiceController("MyService")
服务返回 OK,我可以通过 myservice.Status
查看状态。
但是当我尝试启动(或停止)它时,它返回错误:
Unable to open service MyService in machine '.'
我是管理员,服务进程作为 NetworkService 运行。
我是 .net 和 Windows 应用程序的新手,我似乎无法进一步调试它。
最佳答案
我终于能够通过在 app.manifest 中设置执行级别来解决该问题(项目->新项目->应用程序 list )
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
现在控制应用程序需要管理员权限,因此可以毫无问题地启动/停止服务。
不过,我相信我可以通过代码模拟或以某种方式降低服务运行级别,以其他方式做到这一点。
在启动应用程序之前,我必须对此进行审查,然后我将在此处发布我的发现。
感谢 Drew 在整个调试过程中提供的指导。
问候
关于.net ServiceController - 无法在机器 "service name"中打开服务 '.',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1460966/