Windows服务控制字符
-
13-10-2019 - |
题
我创建了一个Windows服务,并希望将其发送一个控制+B或控制+C控制值。我知道我可以使用SC控件,但是我想知道是否有一个位置包含我可以发送的所有可能值。有一个SC停止方法,但我希望将其发送一个控制字符。
解决方案
服务关闭的“优雅”都取决于您的服务对请求的响应方式。如果您正在撰写服务,则可以完全控制SCM发送“停止”请求时的服务方式。收到请求后,您的时间有限(Windows决定了多少)来停止您的服务并响应控制请求。如果您无法及时做出响应,Windows可能会毫不愉快地终止您的服务过程。
控制台应用程序可以使用The Ctrl+C请求响应 SetConsoleCtrlHandler()
功能。但是,服务过程不在控制台窗口内运行,因此该处理程序完全不适合服务。
不隶属于 StackOverflow