Compartir a través de


Estructura KEYBDINPUT (winuser.h)

Contiene información acerca de un evento de teclado simulado.

Sintaxis

typedef struct tagKEYBDINPUT {
  WORD      wVk;
  WORD      wScan;
  DWORD     dwFlags;
  DWORD     time;
  ULONG_PTR dwExtraInfo;
} KEYBDINPUT, *PKEYBDINPUT, *LPKEYBDINPUT;

Miembros

wVk

Tipo: WORD

Código de clave virtual. El código debe ser un valor del intervalo de 1 a 254. Si el miembro dwFlags especifica KEYEVENTF_UNICODE, wVk debe ser 0.

wScan

Tipo: WORD

Código de examen de hardware para la clave. Si dwFlags especifica KEYEVENTF_UNICODE, wScan especifica un carácter Unicode que se va a enviar a la aplicación en primer plano.

dwFlags

Tipo: DWORD

Especifica varios aspectos de una pulsación de tecla. Este miembro puede ser ciertas combinaciones de los valores siguientes.

Valor Significado
KEYEVENTF_EXTENDEDKEY
0x0001
Si se especifica, el código de examen de wScan consta de una secuencia de dos bytes, donde el primer byte tiene un valor de 0xE0. Consulta Marca de clave extendida para obtener más información.
KEYEVENTF_KEYUP
0x0002
Si se especifica, se libera la clave. Si no se especifica, se presiona la tecla .
KEYEVENTF_SCANCODE
0x0008
Si se especifica, wScan identifica la clave y wVk se omite.
KEYEVENTF_UNICODE
0x0004
Si se especifica, el sistema sintetiza una pulsación de tecla VK_PACKET . El parámetro wVk debe ser cero. Esta marca solo se puede combinar con la marca KEYEVENTF_KEYUP . Para obtener más información, vea la sección Comentarios.

time

Tipo: DWORD

Marca de tiempo del evento, en milisegundos. Si este parámetro es cero, el sistema proporcionará su propia marca de tiempo.

dwExtraInfo

Tipo: ULONG_PTR

Valor adicional asociado a la pulsación de tecla. Use la función GetMessageExtraInfo para obtener esta información.

Comentarios

INPUT_KEYBOARD admite métodos de entrada que no son de teclado, como el reconocimiento de escritura a mano o el reconocimiento de voz, como si fuera entrada de texto mediante la marca KEYEVENTF_UNICODE . Si se especifica KEYEVENTF_UNICODE , SendInput envía un mensaje WM_KEYDOWN o WM_KEYUP a la cola de mensajes del subproceso en primer plano con wParam igual a VK_PACKET. Una vez que GetMessage o PeekMessage obtiene este mensaje, al pasar el mensaje a TranslateMessage se publica un mensaje de WM_CHAR con el carácter Unicode especificado originalmente por wScan. Este carácter Unicode se convertirá automáticamente en el valor ANSI adecuado si se publica en una ventana ANSI.

Establezca la marca KEYEVENTF_SCANCODE para definir la entrada del teclado en términos del código de examen. Esto es útil para simular una pulsación de tecla física independientemente del teclado que se esté usando actualmente. También puede pasar la marca de KEYEVENTF_EXTENDEDKEY si el código de examen es una clave extendida. El valor de la tecla virtual de una tecla puede cambiar en función del diseño del teclado actual o de qué otras teclas se presionaron, pero el código de examen siempre será el mismo.

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]
Encabezado winuser.h (incluya Windows.h)

Consulte también