PNDで遊ぶ(7)ちょいNAVI AK-CND333をHackしてエクスプローラを起動する
- カテゴリ: PND ちょいNAVI > WinCE化
- 投稿日時: 2011/05/02(月) 09:37:00
AK-CND333のハックに際して参考にさせていただいたのはこちらのサイト。
左のメニューから スペイシー100 > カーナビ(AK-CND555) と辿ると幸せになれました。内容が高度でちょっと戸惑いましたので、もう少し噛み砕いて記述しようと思います。
通常のWindowsCEならば「ActiveSync」が使えます。WindowsXPなどが動作するデスクトップ機にインストールして、USBなどで接続したCE機とパートナーシップを結び、ファイルの同期やコピー、CE用プログラムのインストールなどを行うものです。ちなみにパートナーシップを確立したPCは「母艦」なんて呼ばれています。
ですが、残念ながらAK-CND333にはActiveSyncは使用できません。
WindowsCEの記憶媒体
ナビ専用機を汎用WindowsCEとして使用するためには、まずフラッシュメモリについて知らなければなりません。
フラッシュメモリはデスクトップPCのハードディスクにあたるデバイスですが、ファイルの作成やコピーはできるが電源を切ると内容がリセットされてしまう部分と、電源を切っても変更内容が残る部分の二種類があります。ただ、以前所有していたPDAの経験からすると、内蔵バッテリーが完全に放電してしまえば、どちらも初期化されてしまうと思われます。
このフラッシュメモリとは別に、カードスロットに挿したmicroSDも、記憶領域として利用できます。こちらはバッテリーがなくなっても内容は残ります。
同様に、AK-CND333とPCをUSB接続すると5V給電でバッテリーが充電されると同時に、リムーバブルディスクとして二つのドライブがマウントされます。どちらのドライブも、再起動後も変更した内容が残るドライブです。うちの環境ではEドライブがmicroSD、Fドライブがフラッシュメモリになりました。以降の説明はこのドライブレターを使って行います。
ハックの具体的方法
以降の作業を行う場合は、あらかじめバックアップをとることをオススメします。最低でも先ほどの「フラッシュメモリ」内のファイルはすべてバックアップしておくべきでしょう。約2.4GBあります。
また、フラッシュメモリ内のファイルをいじる場合は、PCと接続する前にナビソフトは起動しておかないほうがよいです。電源投入してメニューが出たところでPCと接続しましょう。
起動時に表示されるメニューの中で、電源を切っても内容が残る部分に記録されているプログラムを呼び出しているところを探して、それを別のランチャに置き換えるというのが常套手段。そうすればランチャから他のソフトを実行することが可能になります。
フラッシュメモリ内のフォルダ構成は上図のとおりで、\Naviフォルダ直下にある「Navi.exe」が、起動時に表示されるメニューの「GPS」をタップしたときに起動されるナビ本体です。これをMalorに置き換え、さらにMalorからPopUpMenu for XROAD RM-A4000を起動します。
Malorは、ブロードゾーン製のPND 迷WANシリーズで、電源投入時にナビ以外のソフトを起動する簡易ランチャー。いしのなかにいるさんで公開されています。
PopUpMenu for XROAD RM-A4000は、RWC社(GEOTEL)のバイク用PND XROAD RM-A4000で、登録した外部アプリケーションの起動要求、画面切替などを行うための簡易ランチャーツール。RM-A4000まとめwikiで公開されています。
Malorインストール方法
1)ダウンロードして解凍したMalor.exeを「Navi.exe」にリネームする。
2)F:\Navi\Navi.exeを「cyoiNavi.exe」にリネームする。
3)1)のNavi.exeをF:\Navi\にコピーする。
4)あらかじめ用意しておいた「Malor.txt」をF:\Navi\にコピーする。
これでいけます。
4)の「あらかじめ用意しておいたMalor.txt」の内容ですが、PopUpMenu for XROAD RM-A4000を起動するにはこのようになります。
# Malor 起動設定ファイル # # PopUpMenu \ResidentFlash\Navi\PopUpMenu.exe # End of File
PopUpMenu for XROAD RM-A4000インストール方法
1)ダウンロードして解凍したPopUpMenu.exeをF:\Navi\にコピーする。
2)あらかじめ用意しておいた「PopUpMenu.txt」をF:\Navi\にコピーする。
これだけです。
問題は2)のPopUpMenu.txtの作り方ですが、詳細はreadmeを参照してもらうとして、ひとまずエクスプローラを起動するだけならこんな感じです。
######################################## # 基本動作指定 ######################################## #起動対象アプリ監視間隔(ミリ秒) findinterval=500 #自動最小化有無(0=off、1=on) automin=1 #終了要求時動作(0=処理無し、1=処理有り、2=確認表示) endoperation=2 #最小化時のウィンドウサイズ(開始位置x,開始位置y,高さh,横幅w) minwindowinfo.posx=0 minwindowinfo.posy=140 minwindowinfo.sizew=46 minwindowinfo.sizeh=46 #最大化時のウィンドウサイズ(開始位置x,開始位置y,高さh,横幅w) maxwindowinfo.posx=0 maxwindowinfo.posy=5 maxwindowinfo.sizew=190 maxwindowinfo.sizeh=230 ######################################## # 基本ボタン指定 ######################################## #TAPボタンの設定(最大化時自動移動(0=off、1=on),開始位置x,開始位置y,高さh,横幅w,ボタン表示名) tap.automoveflg=1 tap.btnposx=18 tap.btnposy=0 tap.btnsizeh=43 tap.btnsizew=43 tap.btnname=TAP #ENDボタンの設定(最大化時自動移動(0=off、1=on),開始位置x,開始位置y,高さh,横幅w,ボタン表示名) end.btnposx=23 end.btnposy=7 end.btnsizeh=35 end.btnsizew=35 end.btnname=END ######################################## # 起動対象アプリ設定 ######################################## #----- 起動対象アプリ1の設定 -----# #有効化フラグ(0=off、1=on) offはボタン、アイコンの非表示化(処理無し) appinf1.enable=1 #初期起動時実行有無(0=off、1=on) appinf1.initrunflg=1 #ボタン選択時起動有無(0=off、1=on) appinf1.pushrunflg=1 #タップ追加処理実行有無(0=off、1=on) appinf1.taprunflg=0 #監視有無(0=off、1=on) appinf1.findflg=1 #ボタン選択後の非表示間隔(ミリ秒,0は非表示指定無し) appinf1.hideinterval=0 #ボタン設定(最大化時自動移動(0=off、1=on),開始位置x,開始位置y,横幅w,高さh,ボタン表示名) appinf1.btnposx=80 appinf1.btnposy=2 appinf1.btnsizew=100 appinf1.btnsizeh=20 appinf1.btnname=1.エクスプローラ #監視アイコン設定(開始位置x,開始位置y) appinf1.iconposx=190 appinf1.iconposy=7 #監視対象設定(FindWindowのクラス名、ウィンドウ名) appinf1.findclassname=Explore appinf1.findwindwname= #起動ファイルパス(フルパス) appinf1.filepath=\Windows\explorer.exe #起動時引数 appinf1.argv= #タップ追加処理起動ファイルパス(フルパス) appinf1.tapfilepath= #タップ追加処理起動時引数 appinf1.tapargv=
エクスプローラ起動
エクスプローラが起動できるようになると、母艦を介さずにSDMMC、ResidentFlashだけでなく\Windowsやら\Program Filesやら、すべてのフォルダの中が操作できるようになります。もちろん実行ファイルであればタップして実行もできます。ナビは \ResidentFlash\Navi\cyoiNavi.exe を実行すれば起動します。
Tweet
コメント
この記事へのコメントはありません