▼Windows Mobileプログラミングメモ▼
Windows Mobile
Windows Mobile
マイクロソフトから提供されている携帯端末向けのOS。
バージョン エディション 説明 端末 Windows Mobile 5 PocketPC Edition タッチパネルを持ったPDA向けOS W-ZERO3
EM・ONEPocketPC Phone Edition タッチパネルを持った携帯電話向けOS hTcZ
X01HT
HTC P3600Smartphone Edition タッチパネルを持たない携帯電話向けOS - Windows Mobile 6 Classic Edition タッチパネルを持ったPDA向けOS Advanced/W-ZERO3[es]
WOLLCOM 03
EM・ONEαProfessional Edition タッチパネルを持った携帯電話向けOS
T-01A
HTC Advantage X7501
X01TStandard Edition タッチパネルを持たない携帯電話向けOS X02HT
情報源
情報源
関連リンク .Net Compact Framework 2.0メモ←Visual C#での開発方法
MIDP2.0メモ←Javaでの開発方法
Windows MobileとWindowsの開発の違い
Windows MobileとWindowsの開発の違いは次の通り。
UNICODE
Windows Mobileは内部的には全てUNICODEで扱われる。ファイルパス
- 文字列の型は「TCHAR」、文字列のポインタは「LPTSTR」を利用し、文字列の値は「_T()」で囲む。
TCHAR hoge[]= _T("ほげ");
汎用型は環境に応じて以下のように変化する。
UNICODE未定義時 UNICODE定義時(Windows Mobile) TCHAR=char TCHAR=WCHAR LPCTSTR=const char* LPCTSTR=const WCHAR* LPTSTR=char* LPTSTR=WCHAR* - charとTCHARの変換は以下の関数を利用。
関数 説明 WideCharToMultiByte(CP_ACP,0,strw,wcslen(strw),str,1024-1,NULL,NULL); TCHAR→char MultiByteToWideChar(CP_ACP,0,str,size,strw,1024-1); char→TCHAR - 文字列操作では以下のセキュリティ対応関数を利用。
機能 標準関数 汎用文字列関数 UNICODE対応関数 セキュリティ対応関数 文字列の取得 strlen() _tcslen() wcslen() - 文字列の連結 strcat() _tcscat() wcscat() StringCchCat() 文字列のコピー strcpy() _tcscpy() wcscpy() StringCchCopy() 書式出力 sprintf() _stprintf() wcsprintf() StringCchPrintf() - atoi()やatol()などはwtoi()やwtol()を使う。
Win32APIやMFCはサブセットなため、一部機能がない。
Win32APIやMFCはサブセット
- 相対パスは使用できない。
- ドライブ表記(C:¥)はできない。(¥Windowsのように指定)
- WindowsフォルダはROMのため書き込み不可。
Win32APIやMFCはサブセットなため、一部機能がない。
デバッグ出力
- TextOut()は存在しない。ExtTextOut()で代用できる。
- GlobalAlloc()は存在しない。LocalAlloc()で代用できる。
- ファイルからbitmapをロードするのにLoadImage()が使用できない。SHLoadDIBitmap()で代用できる。
- OpenMutex()は存在しない。CreateMutex()で代用できる。
- CreateFont()は存在しない。CreateFontIndirect()で代用できる。
以下の関数で出力ウィンドウに文字出力が可能。
NKDbgPrintfW(_T("hoge¥n"));
NKDbgPrintfW(_T("num=%d¥n"),num);
詳しくはWindows CE FAN,いまさらのWindowsCE入門が参考になる。
開発ツールの準備
Windows Mobileアプリケーションの開発に必要なツールは次の通り。
Visual Studio 2005 Standard以上/Visual Studio 2006 Professional以上
マイクロソフトが提供するソフトウェア開発のための統合開発環境。
Windows Mobile 6 SDK
Windows Mobileアプリの開発機能をVisual Studioに付加するキット。
StandardとProfessionalの2つのエディションがある。
サイトから必要なエディションをダウンロードしてインストール。
Device Emulator Version 3.0 日本語版
エミュレータの日本語版。
サイトよりダウンロードしてインストール。
Emulator Images
エミュレータのデバイスイメージ。
サイトより「0411/Windows Mobile 6 Professional Images (JPN).msi」をダウンロードしてインストール。
Active Sync 4.5日本語版
PCとWindows Mobile端末を接続するツール。アプリ転送で必要となる。
サイトよりダウンロードしてインストール。
接続の設定で「以下のいずれかの接続を有効にする」をチェックし「DMA」を選択。
サンプルプログラム
基本 - ウィンドウベース 基本 - ダイアログベース ユーザーインタフェース データの読み書きと通信 デバイス制御
情報