none
外部プログラムによる日本語入力サービスの切り替え方法 RRS feed

  • 質問

  • 外部プログラムから日本語入力サービスの切り替える方法を調べています。
    具体的には、ATOK と IME を切り替える APIやプログラムが存在するのかどうか調べています。
    私が調べた限りでは、ATOKやIMEなどの各日本語入力サービスにホットキーを割り当て、キー情報を外部プログラムから送信することで、日本語入力サービスを切り替える方法がある、ということはわかっています。
    ホットキーで切り替えるのではなく、もっとコアな部分から切り替える方法がありましたら教えてください。
    2011年6月17日 2:35

回答

  • fumihio さん、

    TSF (Text Service Framework) の ITfInputProcessorProfileMgr (MSDN) を利用して、実行しているプロセスの IME (Input Processor Profile) を切り替えることができます。

    まず、ITfInputProcessorProfileMgr::EnumProfiles (MSDN) で、目的の IME の情報を取得してから、 ITfInputProcessorProfileMgr::ActivateProfile (MSDN) で、目的の IME を Active にする、という流れになると思います。

    ITfInputProcessorProfileMgr のインスタンスは ITfInputProcessorProfiles (MSDN) から QueryInterface して取得することができます。

     

     

    2011年10月4日 10:24
    モデレータ

すべての返信

  • fumihio さん、

    TSF (Text Service Framework) の ITfInputProcessorProfileMgr (MSDN) を利用して、実行しているプロセスの IME (Input Processor Profile) を切り替えることができます。

    まず、ITfInputProcessorProfileMgr::EnumProfiles (MSDN) で、目的の IME の情報を取得してから、 ITfInputProcessorProfileMgr::ActivateProfile (MSDN) で、目的の IME を Active にする、という流れになると思います。

    ITfInputProcessorProfileMgr のインスタンスは ITfInputProcessorProfiles (MSDN) から QueryInterface して取得することができます。

     

     

    2011年10月4日 10:24
    モデレータ
  • fumihio さん、

    問題は解決しましたでしょうか。

    他の方に参考になりそうな情報に、[回答としてマーク] をつけさせていただきましたが、さらにご質問などがある場合は、、マークを解除していただいてもかまいません。

    よろしくお願いします。


    いた
    2011年10月25日 9:13