C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: WndProcについて


(過去ログ 36 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■18035 / inTopicNo.1)  WndProcについて
  
□投稿者/ chobi (4回)-(2008/05/08(Thu) 09:54:19)

分類:[C#] 

お世話になります。
開発環境:winxp
実行環境:winxpembedded
使用言語:C#、.net2.0
HORMとEWFを使い、HIBERNATEからの高速起動しています。
下記は自動起動するアプリの一部です。
起動イベントを捕まえて処理がしたかったのですが、
マウスを動かす、ボタンをクリックするなどのイベントが
起きないと下記の「休止状態からの起動時の記述」が実行されません。
何か原因等分かりましたら教えて頂けないでしょうか?

protected override void WndProc(ref Message m)
{
const int PBT_APMRESUMESUSPEND = 0x0007;
const int WM_POWERBROADCAST = 0x218;
int nbyte = 0;
byte[] Buf = null;

if (m.Msg == WM_POWERBROADCAST)
{
if (m.WParam.ToInt32() == PBT_APMRESUMESUSPEND)
{
//休止状態からの起動時の記述
}
}
}
引用返信 編集キー/
■18052 / inTopicNo.2)  Re[1]: WndProcについて
□投稿者/ オショウ (22回)-(2008/05/08(Thu) 12:49:03)
No18035 (chobi さん) に返信
> お世話になります。
> 開発環境:winxp
> 実行環境:winxpembedded
> 使用言語:C#、.net2.0
> HORMとEWFを使い、HIBERNATEからの高速起動しています。
> 下記は自動起動するアプリの一部です。
> 起動イベントを捕まえて処理がしたかったのですが、
> マウスを動かす、ボタンをクリックするなどのイベントが
> 起きないと下記の「休止状態からの起動時の記述」が実行されません。
> 何か原因等分かりましたら教えて頂けないでしょうか?

  embeded ですか・・・
  一般OSと動作が保障(互換)されていないので、何とも言えませんが
  SystemEventsクラスのPowerModeChangedが発生するのか検証してみて下
  さい。

  尚、私はシステムサービスに電源関係や休止・スリープへの移行・再開
  を監視する機能を仕掛けて、イベントを受信したらアプリに知らせると
  言う方法で解決しています。因みにembededではありません。

以上。
引用返信 編集キー/
■18069 / inTopicNo.3)  Re[2]: WndProcについて
□投稿者/ chobi (6回)-(2008/05/08(Thu) 15:15:57)
No18052 (オショウ さん) に返信
> ■No18035 (chobi さん) に返信
>   embeded ですか・・・
>   一般OSと動作が保障(互換)されていないので、何とも言えませんが
>   SystemEventsクラスのPowerModeChangedが発生するのか検証してみて下
>   さい。
>

お返事ありがとうございます。
"PowerModeChanged"試してみました。
やはり、WndProcで検知するのと同様にマウスを動かす、ボタンを押す等の他の
ユーザーインターフェースイベントが発生しないと発生しませんでした。
因みに開発環境(WinXP_PRO_SP2)では問題なく発生します。
引用返信 編集キー/
■18081 / inTopicNo.4)  Re[3]: WndProcについて
□投稿者/ オショウ (23回)-(2008/05/08(Thu) 16:20:27)
No18069 (chobi さん) に返信
>
> お返事ありがとうございます。
> "PowerModeChanged"試してみました。
> やはり、WndProcで検知するのと同様にマウスを動かす、ボタンを押す等の他の
> ユーザーインターフェースイベントが発生しないと発生しませんでした。
> 因みに開発環境(WinXP_PRO_SP2)では問題なく発生します。

  となると、システムサービス側で捕捉するしか手は無いかと。

  因みに、一般OSでもシステムサービスでも、PowerModeChanged
  は正しくイベントとして検知できていますので・・・
  マウスを動かす、ボタンを押す等と言う制約はありません。

  ウィンドウを持ったUI環境でなくても大丈夫と言うことです。

※ やはりembededは仕様的にいろいろ制約がありますネ〜

以上。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -