こんにちは!
こんにちは
進捗はいかがでしょうか。
現状、ほぼこの問題の原因が解明できました。
始めて半角/全角を押した際、なぜかImmSetOpenStatus(hWnd, FALSE)が呼ばれているようです mzimejaのソースコードを見ると、それが呼び出される条件はSetInputMode(input.cpp)の引数imodeにIMODE_HALF_ASCIIが渡されたときであること、 また変換キーを押した後よばれていることからprocess.cpp:87にてSetInputMode(IMODE_HALF_ASCII)が呼び出されていると推測できます (mzimejaがビルドできればデバッグログを足してもっと深堀できそうです)
そして、SetInputMode(IMODE_HALF_ASCII)が呼び出される条件を調べると、InputContext.fOpenの値が関係あるようです 結論として、InputContextのfOpenというデータに不整合があるようです
ありがとうございます。
fOpenがいつどこでTRUEになるか追究する必要がありそうですね。
こちらでも調べてみます。今日はここまで
ありがとうございました よいお年を。