OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

OSの”シャットダウン中”のステータス取得方法

  • すぐに回答を!
  • 質問No.218592
  • 閲覧数480
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 58% (7/12)

只今、OSがシャットダウン中なのかどうか、
そのステータスを取得する方法を知りたいのですが分かりません。

対象OSはWindows9X,NT系全般で、
マイクロソフト系のC言語、でDLLとして作成出来る手段であれば構いません。
最後には結果をVBに渡します。

このシャットダウン中を知りたい理由についてですが、
今挑戦中のものは他のアプリケーションを監視することが目的で、
任意の常駐アプリケーションが常に起動しているかどうかをチェックしています。
起動状態にない場合は何らかのアクションを起こすように設定出来たりするのですが、
シャットダウン中に監視対象の方が先に終了し、
自アプリが健在であるタイミングがまれに発生します。
このとき、シャットダウン中にも関わらずチェック処理が実行され、
起動していなくて当然なのに起動していないよというエラーを出してしまうのです。
この状態を回避する方法として、
OSがシャットダウン中の場合はチェック処理をスキップする。
という方法を思いついたのですが、
この方法が見つかりません。

どなたか、方法をご存知の方、またはもっと良いノウハウをお持ちの方がいらっしゃいましたら、よろしくお願い致します。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル9

ベストアンサー率 33% (33/98)

VB で QueryUnload イベント時に(終了しても良いかの問い合わせ時に)第2引数 unloadmode に vbAppWindows が渡されたときが確かシャットダウンが原因で、アプリが終了させられるというような意味だったと思います。

C/C++でやるなら、WM_ENDSESSION メッセージの wParam パラメータが TRUE であるとき、シャットダウン中のようです。

MSDN の ExitWindows API の所をポイントしておきます。
詳しいことは、ここの「解説」の所を読んでみてください。
お礼コメント
Murphy

お礼率 58% (7/12)

どうもありがとうございます。

これで解決のきっかけが掴めそうです。

本当にありがとうございました。
投稿日時 - 2002-02-16 18:28:11
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ