【发布时间】:2020-10-27 15:45:56
【问题描述】:
我在同一台机器上有两个桌面应用程序,我们称它们为客户端和服务器。当 Windows 进入关闭状态时,我想让客户端对服务器进行一些简短的大扫除。客户知道它是关闭时间,因为在OnFormClosing 中,FormClosingEventArgs.CloseReason 是CloseReason.WindowsShutDown。但与此同时,服务器可能会被操作系统强行杀死。是否可以让服务器尽可能长时间地处于活动状态,以便所有客户端都可以完成他们的工作,但不能完全停止关机?
- 服务器不知道哪些客户端还活着并且需要清理。
- 客户端和服务器都不应导致 Windows 显示应用程序阻止 Windows 关闭的消息。
我想我要求一些 Windows API 调用可以与 Windows 协商,以便在可能的情况下最后终止进程,但欢迎任何可行的解决方案。 Client 用 C# 编写,Server 用 C++ 编写。
【问题讨论】:
-
使 Server 成为服务。
-
@Dialectus 回答已发布
标签: windows winapi visual-c++