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 function synthesizes a keystroke. The system can use such a synthesized keystroke to generate a WM_KEYUP or WM_KEYDOWN message.

Syntax

VOID keybd_event( 
  BYTE 
bVk, 
  BYTE 
bScan, 
  DWORD 
dwFlags, 
  DWORD 
dwExtraInfo 
);

Parameters

bVk

[in] Specifies a virtual-key code. The code must be a value in the range 1 to 254.

bScan

[in] Specifies a hardware scan code for the key.

dwFlags

[in] Specifies various aspects of function operation. An application can use any combination of the following predefined constant values to set the flags.

Value Description

KEYEVENTF_EXTENDEDKEY

If specified, the scan code will be treated as an extended key by giving it a prefix byte having the value 0xE0 (224).

KEYEVENTF_KEYUP

If specified, the key is being released. If not specified, the key is being pressed.

KEYEVENTF_SILENT

If specified, a keystroke is simulated, but no clicking sound is made.

dwExtraInfo

[in] Specifies an additional 32-bit value associated with the keystroke.

Return Value

None.

Remarks

When keyboard input is disabled with EnableHardwareKeyboard(FALSE ), you can simulate keyboard input using keybd_event.

Although keybd_eventpasses an OEM-dependent hardware scan code to the system, applications should not use the scan code. The system converts scan codes to virtual-key codes internally and clears the up/down bit in the scan code before passing it to applications.

The parameters bVkand bScanare treated independently. The OS does not use bVkto generate bScanand does not use bScanto generate bVk.

An application can simulate a press of the PRINTSCREEN key in order to obtain a screen snapshot and save it to the clipboard. To do this, call keybd_eventwith the bVkparameter set to VK_SNAPSHOT, and the bScanparameter set to 0 for a snapshot of the full screen or set bScanto 1 for a snapshot of the active window.

Requirements

Header winuser.h
Library Uibase.lib
Windows Embedded CE Windows CE 1.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also