掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
IME関連のレジストリを変更後、即時適用することは可能でしょうか (ID:102655)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
質問者です。 SendMessageTimeOut で、送信先ウィンドウを、 1)HWND_BROADCAST 2)ImmGetDefaultIMEWnd で取得したウィンドウハンドル に対して WM_WININICHANGE メッセージの送信を行ってみましたが 適用されませんでした。 以下にその際のソースを記載致します。 ----------------------------------------------------- ■送信先:WM_BROADCAST とした場合 Dim lngRetn As Long Call SendMessageTimeOut(HWND_BROADCAST,WM_WININICHANGE,0,0,SMTO_ABORTIFHUNG,5000&,lngRetn&) ■送信先:ImmGetDefaultIMEWnd の取得値とした場合 Dim lngIME As Long Dim lngRetn As Long lngRetn& = ImmGetDefaultIMEWnd(lngIME&) Call SendMessageTimeOut(lngIME&,WM_WININICHANGE,0,0,SMTO_ABORTIFHUNG,5000&,lngRetn&) ----------------------------------------------------- ※定数は APIビューアから宣言を検出し、以下の通り宣言 Public Const HWND_BROADCAST = &HFFFF& Public Const WM_WININICHANGE = &H1A Public Const SMTO_ABORTIFHUNG = &H2 また、実際に書き込むレジストリの情報は、 Windows Vista 及び Server 2008 以降の OS 標準の IME または Office 2007 IME を使用している環境で、 変換候補に Unicode 環境依存文字が表示されてしまうことを回避するため、 \\HKEY_CURRENT_USER\Software\Microsoft\IMEJP\12.0\MSIME に"EnableCodeAreaForConvert"という dword の値名を追加し、 0000031f(10進で799) の値を設定するというものです。 ※Microsoft 文書番号:934715 http://support.microsoft.com/kb/934715/ja IME のプロパティウィンドウ上で上記設定を施し、 [適用]ボタンを押下することで即時適用されていましたので、 やり方はあると思うのですが、 その実現方法が解明できておりません。 IME 系の API リファレンスを読みましたが、 [適用]ボタンと同じことを行ってくれるようなものは見つかりませんでした。 どなたかご存知でしたら、教えて頂けないでしょうか。 宜しくお願い申し上げます。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.