【问题标题】:Application closing before shutdown c++关闭前关闭应用程序c ++
【发布时间】:2013-06-17 10:25:34
【问题描述】:

我创建了一个通过 Windows 服务运行的控制台应用程序。

服务启动应用程序并运行良好。

问题是当我尝试重新启动/关闭我的电脑时,应用程序在实际关闭之前关闭。

所以发生的情况是服务在关闭之前再次重新启动应用程序。

即使我在没有服务的情况下尝试过。应用程序正在关闭前关闭。

如何让我的服务知道电脑将要关机/重启。所以不要重启应用程序。

谁能帮我解决这个问题?

【问题讨论】:

  • Err...你想让你的应用在关机后打开吗?
  • 您是否希望它在 关机后停留并关闭?您看到的是应用程序的常见且合理的行为。
  • 不,我希望我的服务知道电脑将要关机/重启。所以不要重启应用程序。
  • @user1465461 您是否正在尝试编写一个程序来阻止用户关闭计算机?
  • Soddin' 控制台应用程序。使用 GUI,很容易在 GUI 之前捕获关闭/关闭消息并通知服务终止。

标签: c++ windows winapi service shutdown


【解决方案1】:

您的服务可以使用RegisterServiceCtrlHandlerEx 注册通知,并在关闭过程开始时收到SERVICE_CONTROL_PRESHUTDOWN 通知。请参阅http://msdn.microsoft.com/en-us/library/windows/desktop/ms685149(v=vs.85).aspx 了解更多信息。

【讨论】:

  • 所以我可以在电脑关机之前关闭服务
  • 这不是乔纳森的建议。您的应用程序和服务在 PC 关闭期间仍会关闭,但通过注册SERVICE_CONTROL_PRESHUTDOWN,操作系统会在实际关闭开始之前通知您的服务,因此您的服务可以选择忽略应用程序随后的关闭而不重新启动它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-09
  • 1970-01-01
相关资源
最近更新 更多