"Phil Krylov" phil@newstar.rinet.ru wrote:
Still it is not the best. Now, WM_CHARs posted by PostMessageA and dispatched using GetMessageA work well (are converted back and forth). But when the message loop uses GetMessageW, these WM_CHARs come to the window procedure as 4-byte "garbage" (WCHAR which is converted from CP_ACP to 2 WCHARs). In Windows, the window procedure receives unchanged code...
I no more can test on a win2k, but under XP with russian locale MsgCheckProcA in your test app receives 0x00000001 in wParam. In Wine it gets 0x00F30001. I'd not say that it's not acceptable, but it needs more testing in win2k and XP with CJK locales to see what is an expected behaviour in that case.
Do you know a real world app does depend on that behaviour?