This Windows Mobile function will get the SHIME_MODE value from the IME if the IME is present, otherwise it will try to get the SHIME_MODE info from the keyboard driver if the IME is disabled.
HRESULT SHGetImeMode( HWND hWnd SHIME_MODE* nMode );
[in] Handle to the window whose IME mode is to be queried. If the window handle is NULL then only keyboard driver's IME mode will be queried.
[out] A pointer to a DWORD to receive the SHIME_MODE value.
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. They should call SHSetImeMode 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.