Compartir a través de


Función GetKeyState (winuser.h)

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

Syntax

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, las teclas virtuales con valores del intervalo ASCII A a Z y 0 a 9 se usan 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 clave, como la tecla CAPS LOCK, se alterna si está activada. La clave 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 se active la tecla y se desactive cuando se desactive la tecla.

Observaciones

El estado de 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_LMENU VK_RMENU Estas constantes de distinción izquierda y derecha solo están disponibles para una aplicación a través de las funciones GetKeyboardState,SetKeyboardState, GetAsyncKeyState, GetKeyState y MapVirtualKey.

Examples

Para obtener un ejemplo, vea Mostrar entrada de teclado.

Requisitos

Requirement Importancia
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
Header winuser.h (incluya Windows.h)
Library User32.lib
DLL de User32.dll

Consulte también