Handling Unicode in an IME-Aware Application

Two issues are involved with the IMM and its handling of Unicode. The first issue is that the Unicode versions of IMM functions retrieve the size of a buffer in bytes instead of 16-bit Unicode characters. The second issue is that the IMM normally retrieves Unicode characters (instead of DBCS characters) in the WM_CHAR and WM_IME_CHAR messages.

Windows supports a Unicode interface for the IMM, in addition to the ANSI interface originally supported.

Your applications should use RegisterClassW to cause the WM_CHAR and WM_IME_CHAR messages to retrieve Unicode characters instead of DBCS characters in the wParam parameter.

Using Input Method Manager