"Troy Rollo" <wine(a)troy.rollo.name> wrote:
I have just finished running a series of tests using
the attached programs -
msgchar, msgchar2 and msgchar3.
* The short version:
WM_CHAR messages are delivered "immediately" whether sent by SendMessage or
PostMessage.
Actually not immediately, just fast enough, so that GetMessage/DispatchMessage
delivers a message while the thread does Sleep.
[skipped]
When using SendMessageA to send WM_CHAR to a window
registered with
RegisterClassA, no conversion is performed even if the threads have different
values for CP_THREAD_ACP.
In other words, where a conversion is performed it is always based on the
modified CP1252, which has the effect that no visible conversion is ever
performed for A->A messages.
That just means that your way of changing system locale using SetCPGlobal
doesn't work (not mentioning that it's quite strange to call an API in a DLL
after FreeLibrary, that works because kernel32 is already loaded before
LoadLibrary).
I skipped everything else since the tests apparently do not run on a proper
(or rather expected) locale, and the results basically show what you would
get on an english locale without SetCPGlobal hacks.
--
Dmitry.