Windows Mobile 6.5
A version of this page is also available for

This method sends a series of WM_KEYUP or WM_KEYDOWN messages from the input method (IM) to the window with the focus.

HRESULT SendCharEvents( 
  UINT uVK, 
  UINT uKeyFlags, 
  UINT uChars,
  UINT* puShift, 
  UINT* puChars


Virtual key code sent in the first WM_KEYUP or WM_KEYDOWN message generated as a result of this method.


Unsigned integer that contains flags describing the state of the first key sent by this method. These flags are translated into the lKeyData parameter of the first message. See Keybd.h for the legally defined values. If the KeyStateDownFlag bit is set, this method generates a WM_KEYDOWN message; otherwise, it generates a WM_KEYUP message.


Number of characters in puChars.


Pointer to a buffer containing the corresponding KEY_STATE_FLAGS for the characters in puChars. See Keybd.h for the legally defined values. These flags should be identical to the flags in uKeyFlags.


Pointer to a buffer containing the all characters but the first one sent by this method.

An appropriate HRESULT value is returned.

This method allows the IM to determine its own keyboard layout, because it can associate any virtual key with any character and key state.

Another way to send characters to the active window is by means of the IIMCallback::SendString and IIMCallback::SendVirtualKey methods.

Unlike IIMCallback::SendVirtualKey, this method does not affect the global key state.

Windows Embedded CEWindows CE 2.01 and later
Windows MobileWindows Mobile Version 5.0 and later

Community Additions