This function will pass the SHIME_MODE value to the IME if the IME is present, or it will pass the SHIME_MODE info to the keyboard driver if the IME is disabled.
HRESULT SHSetImeMode( HWND hWnd SHIME_MODE nMode );
[in] Handle to the window whose IME mode is to be changed. If the window handle is NULL then only keyboard driver will be notified.
[in] It is one of SHIME_MODE values.
Returns S_OK if successful. Any other return value indicates failure.
Drivers for 12-key keyboards will ignore the IME mode since there is only one keyboard state.
An IME that supports a QWERTY keyboard should notify the keyboard driver of the desired IME mode.
Applications that are not IME-aware should call SHSetImeMode to set the IME mode to the desired input mode when they gain focus and should call SHSetImeMode again to set the IME mode to SHIME_MODE_NONE when they lose focus.
If the window handle hWnd is not from caller's process and IME is enabled, both SHSetImeMode and SHGetImeMode will fail.