掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Win2kで休止状態になる時のメッセージは何を送るのですか。 (ID:6602)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Halbow です。 > Win2kで休止状態になる時がわかるメッセージを探しているんですがよくわかりません WM_POWERBROADCAST というメッセージが飛んできます。これの定義は D5 では messages.pas にあります。どのような状況かは、このメッセージの WParam で 知ることが出来ます。 const PBT_APMQUERYSUSPEND = $0 PBT_APMQUERYSTANDBY = $1 PBT_APMQUERYSUSPENDFAILED = $2 PBT_APMQUERYSTANDBYFAILED = $3 PBT_APMSUSPEND = $4 PBT_APMSTANDBY = $5 PBT_APMRESUMECRITICAL = $6 PBT_APMRESUMESUSPEND = $7 PBT_APMRESUMESTANDBY = $8 これらの定数定義は D5 にはありませんでしたので、自分で定義しておきます。 わたしの環境も Win2000 ですが、以下のコードで { Private 宣言 } public procedure WMPowerBroadcast(var Msg:TMessage);message WM_POWERBROADCAST; end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.WMPowerBroadcast(var Msg: TMessage); begin inherited; Memo1.Lines.Add(IntToStr(Msg.WParam)); end; 試したところ、休止状態、復帰で Memo1 には 0 (PBT_APMQUERYSUSPEND) 4 (PBT_APMSUSPEND) 18 ? 7 (PBT_APMRESUMESUSPEND) と表示されました。この順序でメッセージが飛んでくるようです。 google で WM_POWERBROADCAST で検索するとたくさんドキュメントが見つかります。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.