キャレットとかコンテキストとかではなく、
ある半角英数字列を与えたら変換して日本語文字列にしてくれる方法はありますか?
http://www.google.com/transliterate?langpair=ja-
Hira|ja&text=%E3%81%B8%E3%82%93%E3%81%8B%E3%82%93
グーグルのサービスなのですが、これはWeb上の話で、インターネットにつながっていない
場所からは使えません。
IMEにメッセージを送る感じです。
レス付きませんねぇ。
IME関連はImm系関数でコントロールします。変換自体はやったことがありませんが、
ImmSetCompositionString()
あたりが関係ありそうですね。
あんま、役に立たなくてすみません(vv;)。
すみません。この関数を使うとなにが起こるのかちょっとわからないのですが・・
たぶんImmGetCompositionStringとかと組み合わせて使うんじゃないかと。
取れたとしてもIMEやOSのバージョンによって同じ結果が得られるかどうかわからないし
ひらがなへの変換程度であれば対応表でも作った方が確実じゃないですかね。
ずばりじゃないけど、手がかりになるかもしれません。
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+201012/10120020.txt
IMEは、情報が少ないので自分でなんとかするしかありません。
覚悟して取り掛かりましょう。
取り合えずですが、MSDNでIMM系の関数を一通り見てみる必要はあると思います。
その上で使えそうな関数をピックアップしてテストプログラムを組んで試してみる。
IMM系の情報が纏めて書いてあるところと言うはなかなか無いと思います。
なので、情報が足りない部分はMSDNの原文にあたってでも調べるしか無いと思います。
今回やりたい事に関しては登録系の関数は使わないで良さそうですし、
トライ・アンド・エラーで試してみるしかないかなと。
あと、PCに入っている辞書の内容等によっても結果は変わってくると思います。
常に画一的な返却内容を期待しているのであれば、ちょっと難しいかもしれません。
利用PCを限定してこのPC上でなら結果が保証できますで良いなら話は別ですが。
subaruさん、仲澤@失業者さん、PATIOさん、ありがとうございます。
MSDNの原文とやらは、どうやって検索するのですか?
グーグルでは日本語ドキュメントばかりで英語資料が見つかりません。
いろいろな方法で参照できますが、
MSDNの当該関数のページの右上で言語を切り替えるのも一つの方法。
IME系は、実は英文のドキュメントも乏しい感じです。
確かにEnglishネイティブにはあんま関係ないかも。
とりあえず閉めさせていただきます。
また質問が出ましたら開きますね。
ありがとうございました。