掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
IMEが有効になっているかを調査するには? (ID:115083)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> フロントエンドにIME以外が有効になっているPCで実行すると > アプリケーションエラーになってしまいます。 ここでいうIMEとは、Microsoftの「MS-IME」という製品名の事でしょうか? > 例えばATOKが有効になっているという状態は取得できるのでしょうか? 「有効」という言葉の範囲にもよりますが(インストールの有無、規定のIMEになっているかの確認、ATOKの入力モードの判定など)、可能だと思います。 こちらも ATOKが無いので、試していませんが、昔使っていたソースでは、 hKL = GetKeyboardLayout(App.ThreadID) hWnd = ImmGetDefaultIMEWnd(GetActiveWindow()) Description = String(256, 0) nDesc = ImmGetDescription(hKL, Description, 255) Description = StrConv(MidB(StrConv(Description, vbFromUnicode), 1, nDesc), vbUnicode) If Description Like "*ATOK1#*" Then Debug.Print "有効" End If のような処理が書かれていたので、これらのAPIを使えば判定できるかも。 もし、より細かい状態を知りたい場合は、Imm系 APIだけではなく、 各IME固有の命令(ATOKなら、atoklib.dll の ATOK APIとか)を 呼び出す必要があるかも知れません。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.