我的电脑上的一些应用程序一直在检测 Windows 更新是否重新启动。这是可以观察到的,因为它们会在 Windows 更新自动重启后重新启动。
这非常有帮助,因为这些应用程序会重新加载更改,甚至unsaved更改或恢复选项卡(如果是浏览器)。执行此操作的应用程序示例:
在所有情况下,应用程序都会保存state他们在重启之前就在里面。
(我的电脑实际上会自动从待机状态唤醒,并在安装更新时自行重新启动。遗憾的是,执行此操作后它没有返回待机状态。)
我的问题是:如何以编程方式检测这种重新启动?在重新启动之前似乎可以可靠地检测到它。
问题如何获取 Windows 上次重启原因 https://stackoverflow.com/questions/2140092/how-can-i-get-the-windows-last-reboot-reason可能看起来像是重复的,但没有答案提到任何有关更新的信息。
我用 C# 编写代码,因此用 C# 给出的答案会很有帮助,尽管我也可以阅读 C 和 C++。
See 应用程序重启 http://msdn.microsoft.com/en-us/library/windows/desktop/cc948909%28v=vs.85%29.aspx:
应用程序可以使用应用程序恢复和重新启动 (ARR) 在应用程序由于未处理的异常而退出之前或应用程序停止响应时保存数据和状态信息
and:
或者如果计算机因更新而需要重新启动。
应用程序不会在事后检测重启原因 - 它们已被设计为使用此 API。 (据我所知)没有用于此目的的托管 API。
只需点击几下即可当应用程序因软件更新而关闭时保存数据和应用程序状态 http://msdn.microsoft.com/en-us/library/windows/desktop/bb525422%28v=vs.85%29.aspx#update。同样,没有托管 API。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)