Windows C程序在关机时执行操作

时间:2011-02-28 14:57:55

标签: c windows

我正在制作一个程序,为服务器发送“心跳”以跟踪节点。它们是具有以下有效负载的数据包:

  • '启动时'启动时

  • 每5秒'跑'

  • 在关机时'停止'

前两个很容易。线程/循环可以在第一次和后续运行时设置消息。如何使循环“捕获”关闭以便它可以发送最后一个数据包?

我在WinXP平台上使用minGW编译器。

编辑:我添加了我错过的相关细节(感谢walkingTarget和Ferruccio)

  • 这是一个正在进行的应用程序,在实现中包含杂乱的东西: - )
  • 它使用libCURL,即HTTP客户端库来发送数据包
  • 这是一个控制台应用程序,我(很久以后)打算将其作为服务
  • 需要保存文件并在关机时发送数据包
  • 需要捕获系统关闭

1 个答案:

答案 0 :(得分:1)

在WindowProc()中,您可以检查消息WM_QueryEndSession,Windows在关闭之前将其发送给所有打开的进程。有关该消息的更多信息,请参阅以下链接,但我知道它与检查WM_SIZE一样简单:

  

http://msdn.microsoft.com/en-us/library/aa376890%28VS.85%29.aspx