"Troy Rollo" <[EMAIL PROTECTED]> 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.