Windows Mobile 6 と 6.5.3 エミュレータイメージをむりやり共存させる方法

Windows Mobile 6.5.3 のイメージと、Windows Mobile 6 のイメージは同時にインストールできないみたいです。
Windows Mobile 6.5.3 Developer Tool Kitのインストールにはコツが必要 - (旧)Smart-PDA.net 管理者の日記


ですから、6を残しておきたい場合6.5.3を諦めなければならないし、
逆に6.5.3を入れたい場合は6を諦めなければなりません。


しかし、ここに興味深いことが書いてありました。

[!] WM6 のエミュレータが起動する場合
で、インストール後 WM 6.5.3 JPNのイメージを起動すると、Windows Mobile 6 のイメージが起動しました(笑)
以前に WM6 のエミュレータイメージを保存している場合は、そのイメージが残っていて、そいつが起動してしているようです。


6.5.3をインストールしても、6のエミュレータが起動するようなのです。


id:mikiofuku氏のブログで書かれているエミュレータイメージというのは、デバイスエミュレータのヘルプを見るとdessという拡張子のファイルに保存されているようです。
このdessというファイルは、"drive:\Documents and Settings\username\Application Data\Microsoft\Device Emulator"に保存されると書いてありました。
私の使っているOSはVistaなので、"C:\Users\username\AppData\Roaming\Microsoft\Device Emulator"にありました。
例えば下記のようなファイル名になっています。(6のVGA用)

  • ファイル名: {0562D1AE-19FF-47CA-8845-65F9ECC663D6}.dess


この数字の羅列は、エミュレータを起動するときの引数の"/vmid"の値となっています。


6のdessファイルを削除すれば6.5.3のエミュレータが起動するということですから、dessファイルがあるときはそのファイル(dessファイル)を読み込み、dessファイルがないときはbinファイル(オペレーティング システム イメージ ファイル)を読み込むようです。


そこで、6のdessファイルは残しておいて、"/vmid"の値を別の値にしてやれば6.5.3のbinファイルを読みに行くのではないかと考えました。


6のVGA用のショートカットは下記のようになっていました。

  • リンク先: "C:\Program Files\Microsoft Device Emulator\1.0\DeviceEmulator.exe" /vmid {0562d1ae-19ff-47ca-8845-65f9ecc663d6} /defaultsave PPC_JPN_GSM_VGA_VR.BIN /memsize 128 /skin ..\Pocket_PC_Phone_VGA\Pocket_PC_PE_VGA.xml
  • 作業フォルダ: "C:\Program Files\Windows Mobile 6 SDK\PocketPC\Deviceemulation\0411\"


これを参考にして作った6.5.3のWVGA用のショートカットは下記の通りです。("/vmid"の値が違う)

  • リンク先: "C:\Program Files\Microsoft Device Emulator\1.0\DeviceEmulator.exe" /vmid {0562d1ae-19ff-47ca-8845-65f9ecc663d8} /defaultsave PPC_JPN_GSM_WVGA_VR.BIN /memsize 128 /skin ..\ppc_phone_480x800\ppc_phone_480x800.xml
  • 作業フォルダ: "C:\Program Files\Windows Mobile 6.5.3 DTK\PocketPC\Deviceemulation\0411\"


このショートカットで起動させてみると、6と6.5.3のエミュレータが両方とも動きました。


ひとまず、同時起動については以上です。


ただ、このままだと6のdessファイルを消すと、6のエミュレータは起動できなくなってしまいます。
バイスエミュレータの ファイル→保存された状態をクリア を選択しないように気をつければ良いと思いますが、binファイルから起動する方法も分かったのでそちらも記述しておきます。


6をインストールした状態で、"C:\Program Files\Windows Mobile 6 SDK"フォルダを丸ごとコピーして待避させます。
6をアンインストールし、6.5.3をインストールした後で、先ほど待避させたフォルダを元に戻します。


以上ですf(^^;)


[追記]6と6.5と6.5.3が起動するのを確認しました。

JoeTune ver1.4.1(exeのみ)

ダウンロード

[公開停止]


tmytのらくがき - JTClickPosの座標の件で、プラグイン内でウィンドウを作成すると、座標がQVGA用になってしまうということが書かれていたので、対応したexeのみをアップロードしました。
JoeTune ver1.4.0に上書きして使用してください。

JoeTuneプラグイン仕様書 ver1.2.1

ダウンロード

JoeTuneプラグイン仕様書 ver1.2.1
[公開停止]


新たにウィンドウを作成して常駐するタイプのサンプル、JTExsample2.cppを追加しましたので、参考にしてください。

他のウィンドウを閉じたりするときに、JTExsample2のウィンドウがアクティブになってしまい、そのままでは使いづらいので適当に修正してください。

JoeTune ver1.4.0 (プラグイン仕様ver1.2.1)

[追記]2008/8/11 2:40頃、更新した部分に不具合が見つかった為差し替えました。この時刻より前にダウンロードしてしまった方は、再度ダウンロードして頂くようお願いします。
ダウンロード


JoeTune
[公開停止]

プラグインによる機能追加型常駐ソフト。


プラグインの仕様をバージョンアップしましたが、前回のJoeTune ver1.3.0を使用している場合はプラグインを新たに対応したものに更新する必要はありません。

前回のプラグイン仕様バージョンが1.2.0で、今回は1.2.1となっており、左から数えて3つ目の数値のみ変わっていて、下位互換性が保たれるようにしてあるためです。

プラグインを更新する必要の有無については、こちらプラグイン項に詳しく書いておきました。


更新履歴

  • プラグインの選択エクスポート関数にJTEvent_TapProcを追加した。
  • JoeTune APIのJTAPI_IniWriteSection関数がうまく動いていなかったので修正した。


Ad[es]のEcrawlExでおなじみ、まかべ氏のブログで、ClickPosというソフトのソースが公開されていました。

このソフトは、タップした位置に印の画像を表示してタップした位置が正確に分かるようになるものです。

つまり、タップした位置が分かるプログラムのソースが公開してあるということで、早速見てみました。


なるほど、ホーミン氏作のMultiKeyHookを導入すると使えるようになる、「WH_JOURNALRECORD」のフックを使用すると、タップした位置が分かるということですね。

というわけで「WH_JOURNALRECORD」のフックを導入して、タップ情報を選択エクスポート関数のJTEvent_TapProcで受け取れるようにしました。

まかべさん、有用なソースを公開していただいてありがとうございます。


JoeTuneのプラグイン仕様の変更についてですが、後のブログで書きたいと思います。

JTEraseRF ver1.2.0

ダウンロード

JTEraseRF
[公開停止]


JoeTuneのプラグインです。dllを「Plugins」フォルダにコピーしてください

W-ZERO3シリーズでパケット通信中に表示される[PT]アイコンを電波強度アイコンに変更します。

JoeTuneのプラグイン仕様変更に伴うバージョンアップと、プラグイン起動時に既に[PT]アイコンが表示されていた場合にも表示を消すように変更しました。

JTAction ver1.2.0

ダウンロード

JTAction
[公開停止]


JoeTuneのプラグインです。dllを「Plugins」フォルダにコピーしてください

W-ZERO3シリーズのアクションキーを長押しすることでコンテキストメニューを表示させることができるようになります(ソフトによっては表示されません)。


JoeTuneのプラグイン仕様変更に伴うバージョンアップです。