none
ローマ字日本語入力に切り替えたい

    質問

  • お世話になります。

    Myアプリケーションを起動したときに、言語バーの入力をローマ字入力にしたいと思っています。

    対象OSは、Windows7以降となります。

    IMM32APIを使用することで対応できる、
    WINDOWS7以降は、TIP(TEXT INPUT PROCESSOR)を使用する、
    IMM32は、TIPをエミュレートしている

    などいろいろ記述されておりよくわかりませんでした。

    参考となる資料等含め、アドバイスよろしくお願いします。


    • 編集済み TAKAKUN 2014年1月29日 0:45
    2014年1月29日 0:08

回答

  • 自己レスです。

    Windows8の「アプリウィンドウごとに異なる入力方式を設定する」の有効、無効の状態取得ですが、
    下記のレジストリの値から、下記の情報が分かりました。

    キー名:HKEY_CURRENT_USER\Control Panel\Desktop
    エントリ名:UserPreferencesMask

    90 12 03 80 12 00 00 00  OFF時
    90 12 03 80 92 00 00 00  ON時

    http://technet.microsoft.com/en-us/library/cc957204.aspx

    しかし、上記サイトでは、32ビットまでのMASK情報がなく、上記情報から

    0x0000008000000000

    でアンドをとって判断することにしました。

    ほかに方法があれば教えてください。

    p.s.

    WINDOWS7では、デフォルトが「12」なので、WINDOWS8からの有効な方法とおもわれます。

    • 回答としてマーク TAKAKUN 2014年2月4日 6:29
    2014年1月31日 1:24
    • 回答としてマーク TAKAKUN 2014年1月31日 5:15
    2014年1月31日 1:31

すべての返信

  • 確認ですが、Windows 8以降では「アプリウィンドウごとに異なる入力方式を設定する」がデフォルトでオフです。つまり、1つのアプリケーションで設定した入力方式が他のアプリにも引き継がれます。

    それでも入力方式を制御したいとお考えでしょうか? もしくはアクティブになる前の入力方式を保持した上で、フォーカスを失うタイミングで復元することをお考えでしょうか?

    2014年1月29日 1:08
  • ご返事ありがとうございます。

    「アプリウィンドウごとに異なる入力方式を設定する」の機能についてはまったく意識をしていませんでした。
    勉強になりました。

    WIN8+MS-WORD2010で動作をしらべたところ、このオプションが無効な場合は、IMEの入力方式はそのままでしたが、
    有効な場合は、ローマ字日本語入力に変更されることがわかりました。

    このオプションが有効な場合、入力方式(ローマ字日本語入力)を変更する
    無効な場合は、なにもしない。

    という方向で考えたいと思っています。


    2014年1月29日 2:35
  • 「アプリウィンドウごとに異なる入力方式を設定する」の有効、無効が取りたいのですが、

    POWERSHELLでは、Get-WinLanguageBarOptionコマンド取得できるそうですが、APIにたどり着けません。

    APIはありますでしょうか。

    2014年1月29日 4:22
  • 自己レスです。

    Windows8の「アプリウィンドウごとに異なる入力方式を設定する」の有効、無効の状態取得ですが、
    下記のレジストリの値から、下記の情報が分かりました。

    キー名:HKEY_CURRENT_USER\Control Panel\Desktop
    エントリ名:UserPreferencesMask

    90 12 03 80 12 00 00 00  OFF時
    90 12 03 80 92 00 00 00  ON時

    http://technet.microsoft.com/en-us/library/cc957204.aspx

    しかし、上記サイトでは、32ビットまでのMASK情報がなく、上記情報から

    0x0000008000000000

    でアンドをとって判断することにしました。

    ほかに方法があれば教えてください。

    p.s.

    WINDOWS7では、デフォルトが「12」なので、WINDOWS8からの有効な方法とおもわれます。

    • 回答としてマーク TAKAKUN 2014年2月4日 6:29
    2014年1月31日 1:24
    • 回答としてマーク TAKAKUN 2014年1月31日 5:15
    2014年1月31日 1:31
  • ご返事ありがとうございます。

    SystemParametersInfo - APIで取得できました。

    2014年1月31日 5:15