ProntoEdit で使用できるIRコードについては,リンク集にあるMarcel Majoor さんの Remote Control のページの PRONTOIRFORMATS.PDF で完璧に説明されています.
しかし,これらのデータを元に,隠されたIRコードを探し出そうとすると,ProntoEdit で根気の要る作業をしなければなりません.
ProntoEdit の pcf ファイルは,通常のzipファイルであるため,中身を解凍することができます.中には bmp の画像ファイルと,ConfigEdit.xml というXMLファイルが存在します.
この ConfigEdit.xml ファイルを書き換え,元のzipファイルに書き戻すことで,ボタンなどを自動的に生成可能ではないか?と考えました.
ConfigEdit.xml は,XMLフォーマットだけあって,見ればだいたいの内容は見当が付きます.
しかしながら,肝心のIRコードについては,エディタ上で通常見る形とは異なった形式になっていました.
エディタ上:900A 006D 0000 0001 18E6 00FF
XMLファイル:58 0 f 6c 5 60 ab 16 15 40 ab 55 3f 7f f0 b 31 10 10 10 20 20 10 10 10 10 20 20 10 10 20 20 20 10 10 10 10 10 10 10 10 20 20 20 20 20 20 20 20 0 bf 49 f0 a bf 10 4 f0 d
RemoteCentral.comでヘルプを出したところ,色々回答は集まったのですが,完全に理解できる情報は得られませんでした.
ProntoEdit NG には,いくつかのDLLが付いていますが,いかにも怪しそうな「CCF_Translate.dll」「TSPCOM.dll」などがあります.
もしや,と思い,dumpobj /exports でシンボルを見てみると,CCF_Translate.dll にそれらしき関数が見つかりました.
ordinal hint RVA name 1 0 000218B0 CleanupIRCmd 2 1 000217F0 EcoSIF2HEX 3 2 000215B0 Hex2SIF 4 3 0001DBA0 RCS_CCF2XML_V_1_0 5 4 0001DD20 RCS_CCF2XML_V_2_0 6 5 0001DF60 RCS_CCF2XML_V_3_0 7 6 0001E1F0 RCS_GetJobName 8 7 0001E170 RCS_GetLastError 9 8 0001E1E0 RCS_GetProgress 10 9 0001E150 RCS_XML2CCF 11 A 000214E0 RIS_APIVersion 12 B 000212C0 RIS_GetLastError 13 C 00021350 RIS_IR2SIF 14 D 00021310 RIS_IsIRvalid 15 E 00021330 RIS_IsSIFvalid 16 F 00021400 RIS_SIF2IRこいつはアヤシイ!ということで,デバッガ等を使って,DLLの使い方を調べたところ,IRコードからConfigEdit.xmlへの内部コードへ変換するツールを作ることが出来ました.