トップ回答者
IMEに関するWindowsメッセージについて

質問
-
VB2010でImm32.dllを使用してIMEの候補リストが閉じられたかどうかを
判定後に処理を行うプログラムを作成しています。
IMEの候補リストが閉じられたかどうかは
m.Msg = WM_IME_NOTIFYかつm.WParam = IMN_CLOSECANDIDATE
で判定できていました(mはSystem.Windows.Forms.Message)が、Imm32.dllのバージョンによってm.WParam = IMN_CLOSECANDIDATEのメッセージがWindows側からアプリケーション側に通知されなくなっています。※候補リストが表示された時のm.WParam = IMN_OPENCANDIDATEは通知されます。
【Imm32.dllのファイルバージョン】
10.0.18362.387 → m.WParam = IMN_CLOSECANDIDATEのメッセージが来る10.0.19041.546 → m.WParam = IMN_CLOSECANDIDATEのメッセージが来ないこれはWindowsUpdateによる不具合なのでしょうか?仕様変更なのでしょうか?
回答
-
SSC DEVELOPERさん、こんにちは。フォーラムオペレーターのHarukaです。
MSDNフォーラムにご投稿くださいましてありがとうございます。
関連するコードをテストして `WM_IME_NOTIFY`をチェックしたところ、問題をある程度再現することができました。
これはWindowsUpdateが原因の問題だと思います。
このリンクを参照すると、Windows19041.329以降のIMEを修正するための複数のパッチがあることがわかります。
問題を解決するパッチがあると思いますが、パッチは修復部分を詳細に説明していません。
他にご存知の方がおりましたら、情報をご共有いただければ幸いです。
どうぞよろしくお願いいたします。MSDN/ TechNet Community Support Haruka
~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~- 回答としてマーク SSC DEVELOPER 2021年4月13日 1:04
すべての返信
-
SSC DEVELOPERさん、こんにちは。フォーラムオペレーターのHarukaです。
MSDNフォーラムにご投稿くださいましてありがとうございます。
関連するコードをテストして `WM_IME_NOTIFY`をチェックしたところ、問題をある程度再現することができました。
これはWindowsUpdateが原因の問題だと思います。
このリンクを参照すると、Windows19041.329以降のIMEを修正するための複数のパッチがあることがわかります。
問題を解決するパッチがあると思いますが、パッチは修復部分を詳細に説明していません。
他にご存知の方がおりましたら、情報をご共有いただければ幸いです。
どうぞよろしくお願いいたします。MSDN/ TechNet Community Support Haruka
~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~- 回答としてマーク SSC DEVELOPER 2021年4月13日 1:04