最後のWindowsリブートソースに関する情報を提供するWindowsAPI関数(存在する場合)とは何か知りたいのですが。考えられる主な原因は3つあります。
- コンピュータがブルースクリーンでクラッシュしました
- ユーザーまたはプログラムがコンピューターをシャットダウン/再起動しました
- 失われた力
詳細が多ければ多いほど良くなります。しかし、少なくともそれが主な理由からのものであるかを知る必要があります。
WindowsVistaとWindows7をサポートする必要があります。
答え:
その情報を取得するための直接的なAPIはないようです。代わりに、Windowsイベントログを収集する必要があります。システムの再起動情報は、イベントビューア/Windowsログ/システムにあります。イベントIDによって提供されるさまざまな情報は次のとおりです。
- 6005:Windowsの起動
- 6006:Windowsのシャットダウン(適切に)
- 6008:Windowsのシャットダウン(予期せず)
電力損失とシステムクラッシュの違いはまだわかりませんが、良いスタートです。