阻止Windows服务管理器停止服务c#

我有自己的注册处理程序的自定义Windows服务,如何从服务管理器收到停止命令时阻止它停止? 我在服务和GUI之间建立了一个管道通信,我想只从GUI停止它,当我向Windows服务发送消息“停止”而不是当我试图从Windows服务管理器停止它时。 我在C#工作

这回答了你的问题了吗?

http://bytes.com/topic/c-sharp/answers/444965-prevent-service-stopping

将CanStop属性设置为false。 然后,您将需要一个用户可以用来请求停止的应用程序。 然后,此应用程序将与您的服务进行通信(可能通过远程处理),如果条件允许,请自行停止。 您应该能够通过将’CanStop’动态设置为true,然后使用ServiceController类连接到您自己并发出’Stop’命令来完成此操作。

作为替代方案,您可以简单地保护服务设置(修改服务DACL),以便只有特殊用户帐户(可能是SYSTEM)才有权在安装期间停止服务并安装此特殊本地用户帐户。

然后,您的控制应用程序可以使用标准的服务控制管理器function和这个特殊用户的安全令牌,一切都将按预期工作,而不必做任何exception。