Automatic ANSI<>Unicode message translation

Dmitry Timoshkov dmitry at
Thu Aug 4 21:59:15 CDT 2005

"Troy Rollo" <wine at> 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.


> 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

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.


More information about the wine-devel mailing list