1

我创建了一个 Windows 服务并想向它发送一个 control+B 或 control+C 控制值。我知道我可以使用 sc 控制,但我想知道是否有一个位置包含我可以发送的所有可能值。有一个 sc stop 方法,但我希望向它发送一个控制字符。

4

1 回答 1

2

服务关闭的“优雅”完全取决于您的服务如何响应请求。如果您正在编写服务,那么当 SCM 发送“停止”请求时,您可以完全控制服务的响应方式。收到请求后,您有有限的时间(Windows 决定多少时间)来停止您的服务并响应控制请求。如果您未能及时响应,Windows 可能会不正常地终止您的服务进程。

SetConsoleCtrlHandler()控制台应用程序可以使用该函数响应 Ctrl+C 请求。但是,服务进程不是在控制台窗口内运行的,因此该处理程序完全不适用于服务。

于 2010-12-29T00:41:07.753 回答