91

最後のWindowsリブートソースに関する情報を提供するWindowsAPI関数(存在する場合)とは何か知りたいのですが。考えられる主な原因は3つあります。

  1. コンピュータがブルースクリーンでクラッシュしました
  2. ユーザーまたはプログラムがコンピューターをシャットダウン/再起動しました
  3. 失われた力

詳細が多ければ多いほど良くなります。しかし、少なくともそれが主な理由からのものであるかを知る必要があります。

WindowsVistaとWindows7をサポートする必要があります。

答え:

その情報を取得するための直接的なAPIはないようです。代わりに、Windowsイベントログを収集する必要があります。システムの再起動情報は、イベントビューア/Windowsログ/システムにあります。イベントIDによって提供されるさまざまな情報は次のとおりです。

  • 6005:Windowsの起動
  • 6006:Windowsのシャットダウン(適切に)
  • 6008:Windowsのシャットダウン(予期せず)

電力損失とシステムクラッシュの違いはまだわかりませんが、良いスタートです。

4

2 に答える 2

104

この記事では、最後の起動/シャットダウンの理由を見つける方法について詳しく説明します。私の場合、これは、ローカルで無効にしたにもかかわらず、WindowsSCCMが更新をプッシュしたことが原因でした。写真付きの詳細については、記事をご覧ください。参考までに、Webサイトからコピー/貼り付けした手順は次のとおりです。

  1. Windows+Rキーを押して[実行]ダイアログを開き、と入力してeventvwr.msc、を押しEnterます。

  2. UACによってプロンプトが表示されたら、[はい](Windows 7/8)または[続行](Vista)をクリック/タップします。

  3. イベントビューアの左側のウィンドウで、 Windowsログをダブルクリック/タップして展開し、[システム]をクリックして選択し、[システム]を右クリックして 、[現在のログのフィルタ]をクリック/タップします。

  4. 表示するシャットダウンイベントについては、以下の手順5または6のいずれかを実行してください。

  5. すべてのユーザーがコンピューターをシャットダウンした日時を確認するには

    A) [イベントソース]で、ドロップダウン矢印をクリック/タップして、チェックUSER32ボックスをオンにします。

    B)[すべてのイベントID ]フィールドにと入力し、[ OK1074 ]をクリック/タップします。

    C)これにより、イベントビューアの中央のペインの上部に、電源オフ(シャットダウン)およびシャットダウンタイプのイベントの再起動のリストが表示されます。

    D)これらのリストされたイベントをスクロールして、シャットダウンタイプとして電源がオフになっているイベントを見つけることができます。日付と時刻、およびリストされている電源オフイベントごとにコンピューターをシャットダウンしたユーザーが何であるかがわかります。

    E)ステップ7に進みます。

  6. コンピュータの予期しないすべてのシャットダウンの日付と時刻を確認するには

    A. [すべてのイベントID ]フィールドに「」と入力し、[ OK6008 ]をクリック/タップします。

    B.これにより、イベントビューアの中央のペインの上部に予期しないシャットダウンイベントのリストが表示されます。これらのリストされたイベントをスクロールして、各イベントの日付と時刻を確認できます。

  7. 終了したら、イベントビューアを閉じることができます。


その他の便利なイベントID(ソース

ID 説明
41 システムは、最初に正常にシャットダウンせずに再起動しました。
1074 システムは、ユーザーまたはプロセスによって適切にシャットダウンされました。
1076 イベントID6008の後に続き、予期しない再起動またはシャットダウン後にシャットダウン特権を持つ最初のユーザーがサーバーにログオンし、原因を特定したことを意味します。
6005 イベントログサービスが開始されました。システムの起動を示します。
6006 イベントログサービスが停止しました。適切なシステムシャットダウンを示します。
6008 以前のシステムシャットダウンは予期しないものでした。
6009 システムの起動時に検出されたオペレーティングシステムのバージョン。
6013 システムの稼働時間(秒単位)。
于 2014-06-13T13:34:08.880 に答える
19

イベントログAPIを見てください。ケースa)(ブルースクリーン、ユーザーが電源コードを切断した、またはシステムがハングした)により、次にシステムが正しく再起動されたときに、「システム」イベントログにメモ(「システムが正しくシャットダウンしませんでした」など)が残ります。上記のAPIを使用してプログラムでアクセスできるはずです(正直なところ、私はこれを使用したことはありませんが、機能するはずです)。

于 2010-01-26T14:51:01.883 に答える