服务控制器异常(无法控制计算机上的服务".")



我正试图从以管理员身份运行的程序向我的服务TestService发送命令,我可以很好地启动/停止它,但每当我尝试执行命令((时,我都会遇到异常:

无法控制计算机"."上的服务。

try
{
System.ServiceProcess.ServiceController service = new System.ServiceProcess.ServiceController("TestService");

if (service.Status == ServiceControllerStatus.Stopped)
{
service.Start();
service.WaitForStatus(ServiceControllerStatus.Running);
}
service.ExecuteCommand(100); // Causes Exception every time
}
catch (Exception e)
{
MessageBox.Show(e.Message);
throw e;
}

之所以会发生这种情况,是因为ExecuteCommand只接受整数:128-256,128以下的任何值都是系统保留的,并且由于传递了100,因此会发生异常。

用类似service.ExecuteCommand(130)的东西替换service.ExecuteCommand(100)会很好。

相关内容

  • 没有找到相关文章