función keybd_event (winuser.h)
Sintetiza una pulsación de tecla. El sistema puede usar este tipo de pulsación de tecla sintetizada para generar un mensaje WM_KEYUP o WM_KEYDOWN. El controlador de interrupción del controlador del teclado llama a la función keybd_event.
Sintaxis
void keybd_event(
[in] BYTE bVk,
[in] BYTE bScan,
[in] DWORD dwFlags,
[in] ULONG_PTR dwExtraInfo
);
Parámetros
[in] bVk
Tipo: BYTE
Un código de clave virtual. El código debe ser un valor del intervalo de 1 a 254. Para obtener una lista completa, consulte Códigos de clave virtual.
[in] bScan
Tipo: BYTE
Un código de examen de hardware para la clave.
[in] dwFlags
Tipo: DWORD
Controla varios aspectos de la operación de función. Este parámetro puede ser uno o más de los siguientes valores.
[in] dwExtraInfo
Tipo: ULONG_PTR
Valor adicional asociado al trazo de clave.
Valor devuelto
None
Observaciones
Una aplicación puede simular una pulsación de la tecla PRINTSCRN para obtener una instantánea de pantalla y guardarla en el Portapapeles. Para ello, llame a keybd_event con el parámetro bVk establecido en VK_SNAPSHOT.
Ejemplos
El siguiente programa de ejemplo alterna la luz NUM LOCK mediante keybd_event con una clave virtual de VK_NUMLOCK. Toma un valor booleano que indica si la luz debe estar desactivada (FALSE) o activada (TRUE). La misma técnica se puede usar para la tecla LOCK CAPS (VK_CAPITAL) y la tecla SCROLL LOCK (VK_SCROLL).
#include <windows.h>
void SetNumLock( BOOL bState )
{
BYTE keyState[256];
GetKeyboardState((LPBYTE)&keyState);
if( (bState && !(keyState[VK_NUMLOCK] & 1)) ||
(!bState && (keyState[VK_NUMLOCK] & 1)) )
{
// Simulate a key press
keybd_event( VK_NUMLOCK,
0x45,
KEYEVENTF_EXTENDEDKEY | 0,
0 );
// Simulate a key release
keybd_event( VK_NUMLOCK,
0x45,
KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
0);
}
}
void main()
{
SetNumLock( TRUE );
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winuser.h (incluir Windows.h) |
Library | User32.lib |
Archivo DLL | User32.dll |