Windows Mobileサンプルプログラム †手順 †今回、自分ではソースは組みません。 まずはVS2005を立ち上げて、プロジェクトの新規作成を選択。 Wizardで、「プラットフォーム」をクリックし、「Windows Mobile 6 Professional SDK」を選択。 アプリケーションの設定は、そのままで。 で、完了を押下。 おおまかなところは、普通のWindowsプログラムと変わらないソースですね。 SHなんとかっていうAPIを見ると、shell32とかshlwapi系を思い出しますけど、あんまり関係はないのかしら……。 まぁ、このへんの詳細は後で調べるとして、プロジェクトの設定をまずは変更します。 で、そのままビルドして、デバッグを開始します。 (この窓がアクティブな状態でPrint Screen押しても、スクショ撮れなかった……) 日本語のエミュレータが立ち上がって、その後、今デバッグを開始したプログラムがエミュレータ上で実行されます。 最初の起動は、すごく遅いと思います。 実機デバッグ †次に、実機で起動してみます。 上でエミュレータを設定した、構成プロパティの、配置デバイスを、「Windows Mobile 6 Professional Device」にします。 予め、Hybrid W-ZERO3とPCをUSBで繋ぎ、Active Syncが立ち上がった状態にしておきます。 メモった感じでは、以下の6ファイル+自分の作成したプログラムでした。 \Windows\CoreCon1.1 ClientShutdown.exe ConManClient2.exe CMAccept.exe \Windows TcpConnectionA.dll edm.exe 場所不明 edbgtl.dll \Program Files\wmtest wmtest.exe(今回作成したもの) その後、デバッグが開始され、今回作成したプログラムが、実機上で実行されます。 ついでに、実行中の実機のスクリーンショットを撮りたい場合、VS2005のスタートメニューのリモートツールにある、リモートズームインを使用することが出来ます。 \Windows cczcli.exe てか、さっきのエミュのスクショも、これで撮れるのかも……? ソース †ついでに、ソースをざっと眺めてみますか。 リソースファイルはなぜか2つ作られており、片方はメニューのみが定義されています。 で、これとは別の方のリソースファイルに、アクセラレータが定義されており、IDM_OKとIDM_HELP_ABOUTがそれぞれ。Ctrl+QとCtrl+Aに割り当てられているようです。 InitInstanceでは、SHInitExtraControlsを呼んでおり、これでエディットコントロールや、文字入力パネルコントロールの初期化等を行う必要があるようです。 メインWindowのウィンドウプロシージャは、WM_COMMANDでOKボタンとヘルプボタンの処理、WM_CREATEではメニューを作っているようですが、先程の二つのリソースの、それぞれのメニューの関係がよくわからんですね……。 WM_PAINTでは、特に何も描画せず、背景クリアして無効領域がクリアされるだけのようです。 WM_ACTIVATEはSHHandleWMActivateを呼んでいますが、ヘルプに入力パネルをリストアするとかあるので、これをやらないと、正しく日本語入力出来なくなったりするんですかね。 |