TT_IME更新

ダウンロード

いよいよWindows XPの時代も終わりということで、本格的に手を入れた。
TSF対応が中心。TSFは、Text Services Frameworkのこと。
ただ、たかがIMEのオンオフを見るだけのことに、ここまでするかという気はする。
Google日本語入力専用のライト版作ってもいいかなあ。
以下、作る過程で調べたリンク集。

TSF を使う (1) - Windows Input Method の歴史 - NyaRuRuが地球にいたころ
詳しく書かれていて非常にありがたい。むずい。

Text Services Framework Interfaces - Windows applications | Microsoft Docs
TSFの扱い方はここに書いてある。COMに慣れてから読んだほうがいい(慣れてない)。

TSF - Sylx@wiki - アットウィキ
ImmGetDescriptionの代わりになるコードが載っている。

開発者向けアプリケーション互換性情報 - Windows Vista
「アプリケーション互換性情報パック」をダウンロードすると、
IMM32の関数の対応状況が書いてある。
ImmGetDescriptionは非対応。ImmConfigureIMEが動作しないときはTSF用に書いてもダメ?

アレ用の何か
http://www.digi-con.co.jp/tech/node/37
直接は関係ないが、TSFで変換候補を得るためのコード。

http://www2.wbs.ne.jp/~kanegon/doc/bstr.txt
BSTRという見慣れない型がでてくる。文字はWCHARで入っている。

Vistaでフックを使うときは注意が必要 - tomoemonの日記
Vista以降でグローバルフックを使うときの注意点。
当然ながら、管理者権限を持っていなければ、
管理者権限で動くプログラムにフックをかけることはできない。
また、PostMessage等でメッセージを送ることもできない。
そして、グローバルフックで各ソフトに注入したDLLは、そのソフトの権限で動く。
よって、グローバルフックをかけるときに、管理者権限を持っていてもいなくても、
自分と同じ権限のプログラムからしかメッセージを受け取れなくなってしまう。
だけど、ChangeWindowMessageFilterで許可すれば大丈夫という話。