简体   繁体   中英

Prevent Windows service manager from stopping a service c#

I have a custom windows service with my own register handler, how can I prevent it from stopping when it receives the stop command from the services manager ? I established a pipe communication between the service and a GUI and I want to stop it only from the GUI, when I send the windows service the message "stop" not when I try to stop it from windows service manager. I am working in C#

Does this answer your question?

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

Set the CanStop property to false. Then you will need an application that the user can use to request a stop. This app would then communicate with your service (via remoting, perhaps) and if the condition is permitted, stop itself. You should be able to do this by dynamically setting 'CanStop' to true, then connecting to yourself with the ServiceController class and issuing the 'Stop' command.

As an alternative you could simply secure the service settings (modify the service DACL) such that only a special user account (and perhaps SYSTEM) has the rights to stop the service and install this special local user account during installation.

Your control application can then use the standard Service Control Manager functions with this special user's security token and everything will work as expected without having to do anything unusual.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM