我的 PC 上的一些应用程序一直在检测是否由 Windows 更新完成了重新启动。这是可以观察到的,因为它们在自动 Windows 更新重新启动后重新启动。
这非常有用,因为这些应用程序会重新加载更改,甚至是未保存的更改或恢复选项卡(在浏览器的情况下)。执行此操作的应用程序示例:
- 谷歌浏览器
- 微软视觉工作室
- 微软油漆
在所有情况下,应用程序都会保存它们在重新启动之前所处的状态。
(我的电脑实际上从待机状态自动唤醒,并在安装更新时自行重启。太糟糕了,这样做后它没有回到待机状态。)
我的问题是:如何以编程方式检测这种重启?在重新启动之前似乎可以可靠地检测到它。
How can I get the Windows last reboot reason这个问题看起来像是重复的,但没有任何关于更新的答案。
我用 C# 编写代码,所以用 C# 回答会很有帮助,尽管我也可以阅读 C 和 C++,例如。