Compartir a través de


Función GetKeyState (winuser.h)

Recupera el estado de la tecla virtual especificada. El estado especifica si la tecla está arriba, abajo o desactivada (activada, desactivada, alternando cada vez que se presiona la tecla).

Sintaxis

SHORT GetKeyState(
  [in] int nVirtKey
);

Parámetros

[in] nVirtKey

Tipo: int

Una clave virtual. Si la clave virtual deseada es una letra o un dígito (A a Z, a a z o 0 a 9), nVirtKey debe establecerse en el valor ASCII de ese carácter. Para otras claves, debe ser un código de clave virtual.

Si se usa un diseño de teclado que no es inglés, se usan teclas virtuales con valores en el intervalo ASCII A a Z y 0 a 9 para especificar la mayoría de las teclas de caracteres. Por ejemplo, para el diseño del teclado alemán, la clave virtual del valor ASCII O (0x4F) hace referencia a la tecla "o", mientras que VK_OEM_1 hace referencia a la tecla "o with umlaut".

Valor devuelto

Tipo: SHORT

El valor devuelto especifica el estado de la clave virtual especificada, como se indica a continuación:

  • Si el bit de orden superior es 1, la clave está inactiva; de lo contrario, está arriba.
  • Si el bit de orden bajo es 1, la tecla se alterna. Una tecla, como la tecla CAPS LOCK, se alterna si está activada. La tecla está desactivada y desactivada si el bit de orden bajo es 0. La luz indicadora de una tecla de alternancia (si existe) en el teclado estará activada cuando la tecla esté desactivada y desactivada cuando la tecla esté desactivada.

Comentarios

El estado de la clave devuelto de esta función cambia a medida que un subproceso lee los mensajes clave de su cola de mensajes. El estado no refleja el estado de nivel de interrupción asociado al hardware. Use la función GetAsyncKeyState para recuperar esa información.

Una aplicación llama a GetKeyState en respuesta a un mensaje de entrada de teclado. Esta función recupera el estado de la clave cuando se generó el mensaje de entrada.

Para recuperar información de estado de todas las claves virtuales, use la función GetKeyboardState .

Una aplicación puede usar las constantes de código de clave virtualVK_SHIFT, VK_CONTROL y VK_MENU como valores para el parámetro nVirtKey . Esto proporciona el estado de las teclas MAYÚS, CTRL o ALT sin distinguir entre izquierda y derecha. Una aplicación también puede usar las siguientes constantes de código de clave virtual como valores para nVirtKey para distinguir entre las instancias izquierda y derecha de esas claves:

VK_LSHIFTVK_RSHIFTVK_LCONTROLVK_RCONTROLVK_LMENUVK_RMENU Estas constantes de izquierda y derecha solo están disponibles para una aplicación a través de las funciones GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState y MapVirtualKey.

Ejemplos

Para obtener un ejemplo, vea Mostrar la entrada del teclado.

Requisitos

   
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

Consulte también