Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This method is called by the input method (IM) to simulate a keystroke or a virtual key. The key event is sent to the window that currently has the focus; that is, the window that would have received keyboard input if a key had been pressed on an external keyboard.

Syntax

HRESULT SendVirtualKey( 
  BYTE 
bVk, 
  DWORD 
dwFlags
);

Parameters

bVk

Byte containing the virtual key code of the key to simulate.

dwFlags

Specifies the state of the key. It is any combination of the following values.

Value Description

KEYEVENTF_KEYUP

If this flag is set, a call to SendVirtualKeygenerates a WM_KEYUPmessage. If this flag is not set, a call to SendVirtualKeygenerates a WM_KEYDOWNmessage.

KEYEVENTF_SILENT

If this flag is set, the key the user pressed to activate SendVirtualKeydoes not make a keyboard click sound, even if clicks are enabled on the device.

Return Value

An appropriate HRESULTvalue is returned.

Remarks

This function modifies the global key state for the virtual key sent in bVk. For example, an IM can use this method to send SHIFT, CTRL, and ALT key up and down events. These events are retrieved when an application calls the GetKeyStatefunction. This method should send virtual key events that do not have associated characters; that is, it should not send VK_* messages that cause a WM_CHARmessage to be sent in the TranslateMessagefunction. If a character-producing virtual key is sent by this method, the key is modified by the global key state. For example, an application can use this method to send a VK_5 message to the current application. If the SHIFT global key is currently down, the application receives the % character message, depending on the computer's keyboard driver. You can also send character messages and strings using the IIMCallback::SendCharEventsand IIMCallback::SendStringmethods. Call the SendCharEventsand SendStringmethods instead of the keybd_eventfunction while programming an IM.

Requirements

Header sip.h
Library uuid.lib
Windows Embedded CE Windows CE 2.01 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also