Platform SDK: International Features |
Microsoft® Windows NT®/ 2000 and Microsoft Windows® 98: Both platforms support a Unicode interface for the IME, in addition to the ANSI interface originally supported by Windows 95. Windows 98 supports all the Unicode functions except ImmIsUIMessage. Also, all the messages in Windows 98 are ANSI based.
There are two issues involved with Unicode handling and the IME. One is that the Unicode versions of IME routines return the size of a buffer in bytes rather than 16-bit Unicode characters,and the other is the IME normally returns Unicode characters (rather than DBCS) in the WM_CHAR and WM_IME_CHAR messages.
Use RegisterClassW to cause the WM_CHAR and WM_IME_CHAR messages to return Unicode characters in the wParam parameter rather than DBCS characters. This is only available under Windows NT/Windows 2000; it is stubbed out in Windows 95/Windows98.