C# ServiceController-Can';Don’不要停止服务

C# ServiceController-Can';Don’不要停止服务,c#,service,servicecontroller,C#,Service,Servicecontroller,我在这里读了很多有类似问题的帖子,但没有一篇能帮我解决问题。 我想用ServiceController对象停止服务。但它失败了,我得到一个异常:System.ComponentModel.Win32Exception(0x80004005)。我不明白为什么。。我用“以管理员身份运行”来运行程序 如果我从代码中调用netstop命令,那么一切都正常。为什么? Process cmd = new Process(); cmd.StartInfo.FileName = "cmd.exe"; cmd.

我在这里读了很多有类似问题的帖子,但没有一篇能帮我解决问题。 我想用ServiceController对象停止服务。但它失败了,我得到一个异常:System.ComponentModel.Win32Exception(0x80004005)。我不明白为什么。。我用“以管理员身份运行”来运行程序

如果我从代码中调用netstop命令,那么一切都正常。为什么?

 Process cmd = new Process();
cmd.StartInfo.FileName = "cmd.exe";
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.UseShellExecute = false;
cmd.Start();
cmd.StandardInput.WriteLine("net stop service_name");
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
cmd.WaitForExit();

在我们继续进行聊天讨论后,发现以下内容:

  • ServiceController
    能够
    启动
    服务,但不能
    停止
  • 从系统日志可以明显看出,ServiceController在尝试停止时崩溃
  • 服务控制器
    启动
    &
    停止
    与其他服务(如
    打印后台处理程序
  • 使用
    CMD
    Process.Start
    我们可以通过
    sc停止“servicename”
  • 最后,问题在于服务本身及其构造方式

评论不用于扩展讨论;“这段对话已经结束了。”塞缪尔说。是的,我试过了,不幸的是clyde对我发起聊天的代表性很低,我可以知道它的可能性吗?嗨,clyde,正在跟进,你能确认下面的答案是否有助于你的查询吗?如果是,请点击绿色勾选框接受它,谢谢
 Process cmd = new Process();
cmd.StartInfo.FileName = "cmd.exe";
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.UseShellExecute = false;
cmd.Start();
cmd.StandardInput.WriteLine("net stop service_name");
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
cmd.WaitForExit();