WILLCOM Advanced/W-ZERO3[es](WS011SH) Part88

このエントリーをはてなブックマークに追加
530白ロムさん
↓これを見て勉強しろ

まず、呼び出しにはSortInchKeyを使う。
どのキーにどうやって割り当てるかは好きにする。

メニューを実行するには以下の3通りの方法かある。
タップをエミュレートする…縦横判定が必要だし確実ではない
キー操作をエミュレートする…ウェイトを入れないと失敗する
コマンドIDを実行する…確実だが選択できない時まで実行できてしまう
ショートカットキーを使う…確実だがショートカットキーがない事が多い
下に行くほど簡単・完璧だが、ショートカットキーはないのでコマンドIDを使う。

リソースファイル
まずはWeb用絵文字のコマンドIDを調べる。
W-ZERO3メールのパスはショートカットから\Windows\STMail.exeだと分かるが、これにはリソースが含まれていない。
バイナリエディタで開くとSTMailRes.dllというファイル名が入っているので、リソースはこれに入っていると考えられる。(実際入っているが)
よってリソースは\Windows\STMailRes.dllだと分かったので、\Windows\STMailRes.dllのリソースを解析する。
(面倒なのでSTMailMUIのSTMailRes.dll.0411.muiを使った)

リソースの解析
コマンドIDが分かればいいので、リソースエディタで開くかリソース出力ツールで出力したファイルを見るかのどちらかで良い。
前者のアプリはWM用にはないので、PCにコピーしてPCで開く。(例:Resource Hacker)
後者のアプリはWM用としてDumpRCがある。
調べたいのはWeb用絵文字のコマンドIDだから、出力結果を「Web用絵文字」で検索する。
するとMENUITEM "Web用絵文字", 40199と書いてあるので、コマンドIDは40199だと分かる。
今回はあっさりと見つかったが、多言語化されていると表記が違う事がある。

実行させる
コマンドIDの実行には3Clicksを使う方法とAppClosePlusを使う方法があるが、ここでは3Clicksを使う。
引数に@コマンドIDとするのが一番簡単。
つまり、@40199とする。
クラス名・タイトル名の指定もできるが、SortInchKeyがウィンドウ判定をしているので意味がない。