現在W-ZERO3でアプリを作成しております。

サスペンド状態から復帰した際に処理をはさみたいのですが、Compact Frameworkでそんな事は可能なのでしょうか?それともAPIを叩けば復帰した時のイベントは取れるのでしょうか?
ご教授のほどよろしくお願いいたします。 m(_ _)m

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:2007/03/13 16:52:36
  • 終了:2007/03/19 21:23:00

回答(1件)

id:ardarim No.1

ardarim回答回数897ベストアンサー獲得回数1452007/03/13 23:57:41

ポイント100pt

ネイティブAPIでは、サスペンドからの復帰(Wakeup)は、CeRunAppAtEventあるいはCeSetUserNotificationExを使います。

P/Invokeを駆使してこれらのネイティブAPIを使う方法があると思います。


CeRunAppAtEventは、Wakeup時に起動する特定のアプリケーションを登録するAPIです。NOTIFICATION_EVENT_WAKEUPのパラメータで登録しておくと、wakeup時にアプリケーションは"AppRunAfterWakeup"という引数で起動されます。

こちらでCeRunAppAtEventをP/Invokeで使うサンプルが書かれていますので参考にしてください。

Microsoft .NET Compact Framework の P/Invoke とマーシャリング入門

なおアプリケーションを起動する代わりに、名前付きイベントによって通知を受け取ることもできます。


CeSetUserNotificationExもCeRunAppAtEventと同様にwakeup時にアプリケーションを起動したり、名前付きイベントで通知を受け取ることができますが、CeRunAppAtEventよりも詳細な設定が可能です。

こちらにCeRunAppAtEventをP/Invokeで呼び出すサンプルが解説されています。

Microsoft .NET Compact Framework での高度な P/Invoke


OpenNETCFで、これらのAPIのラッパークラスが提供されていますが、検索した結果を見る限りではまだバグがあるようで正しく動作するかどうかは不明です。ただ、試してみる価値はあるかもしれません。

OpenNETCF.WindowsCE.Notification

id:taso1981

返信が遅くなり申し訳ありません。

お陰様で処理の方うまくいきました。

ありがとうございます!! m(_ _)m 

2007/03/19 21:22:06

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません