我想知道是否存在Windows API函数可以提供有关上次Windows重新启动来源的信息。可能有三种主要原因:
- 计算机在蓝屏时崩溃
- 用户或程序关闭/重新启动计算机
- 电源丢失
我能得到的细节越多越好。但是,我至少需要知道其中的主要原因。
我需要支持Windows Vista和Windows 7。
答案:
似乎没有直接的API可以获取该信息。相反,我们必须收集Windows事件日志。系统重新启动信息位于Event Viewer / Windows Logs / System中。以下是事件ID提供的各种信息:
- 6005:Windows启动
- 6006:Windows关闭(正确关闭)
- 6008:Windows关闭(意外关闭)
我还不太明白电源丢失和系统崩溃之间的区别,但这是一个好的开始。