【发布时间】:2012-03-27 17:04:47
【问题描述】:
我的 PC 上的一些应用程序一直在检测是否由 Windows 更新完成了重新启动。这是可以观察到的,因为它们在自动 Windows 更新重新启动后重新启动。
这非常有用,因为这些应用程序会重新加载更改,甚至 未保存 更改或恢复选项卡(在浏览器的情况下)。执行此操作的应用程序示例:
- 谷歌浏览器
- Microsoft Visual Studio
- 微软画图
在所有情况下,应用程序都会保存它们在重新启动之前所处的状态。
(我的电脑实际上自动从待机状态唤醒,并在安装更新时自行重启。可惜这样做后它没有回到待机状态。)
我的问题是:如何以编程方式检测这种重启?在重新启动之前似乎可以可靠地检测到它。
How can I get the Windows last reboot reason 的问题可能看起来是重复的,但没有答案说明更新。
我用 C# 编写代码,所以用 C# 回答会很有帮助,尽管我也可以阅读 C 和 C++。
【问题讨论】:
-
您也可以尝试在 ServerFault 处询问。我在那里看到了一些关于重新启动 Windows 的问题。试试serverfault.com/search?q=windows+reboot
-
我想以编程方式(使用编程语言)检测重新启动...然后在 ServerFault 询问可能不对
-
我认为他们可以提供一些您可以用来编写代码的信息。就像你说的,你“只需要知道去哪里寻找什么状态”。如果您真的在寻找答案,我不会这么快拒绝一个可能有用的答案。
-
这几乎是一个明确的答案,您可以在那里发布:)。所以我必须在收到关机事件时查看事件日志? @DOK 好的。那里确实有点粗鲁,我将其编辑掉
-
如果您以其他方式重新启动计算机,例如在命令行中使用 shutdown /r,这些应用程序的行为是否会有所不同?
标签: c# .net windows winapi reboot