c# – 检测Windows重新启动是否是由Windows更新引起的

我的电脑上的一些应用程序一直在进行检测,而 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.

相关文章

原文地址:http://msdn.microsoft.com/en-us/magazine/cc163...
前言 随着近些年微服务的流行,有越来越多的开发者和团队所采...
最近因为比较忙,好久没有写博客了,这篇主要给大家分享一下...
在多核CPU在今天和不久的将来,计算机将拥有更多的内核,Mic...
c语言输入成绩怎么判断等级
字符型数据在内存中的存储形式是什么