On Wed May 10 13:13:04 2023 +0000, Rémi Bernon wrote:
Is calling ImmSetOpenStatus on CPS_COMPLETE and CPS_CANCEL also native
behavior? In this MR implementation, calling NtUserNotifyIMEStatus seems to be sufficient. I believe it is, although it may also depend on the IME implementation. As far as I could test, calling CPS_COMPLETE / CPS_CANCEL during composition triggers IMN_SETOPENSTATUS messages too.
I tested a simple test program with spy++. IMN_SETOPENSTATUS is caught in the default ime window and ui wndow, not in the application window.
What is unusual is that the value of LPARAM is not zero, but has a different value each time it occurs. Also, in my tests, wparam == IMN_SETOPENSTATUS | IMN_CHANGECANDIATE.
My guess is that it's not caused by ImmSetOpenStatus, but somewhere else.