我的电脑上的一些应用程序一直在进行检测,而
Windows Update是否重启.这是可观察的,因为它们在自动Windows Update重新启动后重新启动.
这非常有用,因为这些应用程序会重新加载更改,甚至是未保存的更改或还原选项卡(如果是浏览器).执行此操作的应用程序示例:
>谷歌浏览器
> Microsoft Visual Studio
> Microsoft Paint
在所有情况下,应用程序都会保存重启前的状态.
(我的PC实际上是从待机状态自动唤醒,并在安装更新时重新启动.太糟糕了,这样做后它没有回到待机状态.)
我的问题是:我如何以编程方式检测这种重启?在重启之前似乎可以可靠地检测到.
问题How can I get the Windows last reboot reason似乎是重复的,但没有回答任何关于更新的说法.
我用C#编写代码,所以C#中的答案会有所帮助,但我也可以阅读C和C.
解决方法
见
Application Restart:
An application can use Application Recovery and Restart (ARR) to save data and state information before the application exits due to an unhandled exception or when the application stops responding
和:
or if the computer needs to restart as the result of an update.
事实之后,应用程序没有检测到重启原因 – 它们已被架构为使用此API.没有(据我所知)这是一个托管API.
点击几下就是Saving data and application state when application is being closed due to a software update.再次,没有托管API.