função keybd_event (winuser.h)
Sintetiza um pressionamento de tecla. O sistema pode usar esse pressionamento de tecla sintetizado para gerar uma mensagem WM_KEYUP ou WM_KEYDOWN. O manipulador de interrupção do driver de teclado chama a função keybd_event.
Sintaxe
void keybd_event(
[in] BYTE bVk,
[in] BYTE bScan,
[in] DWORD dwFlags,
[in] ULONG_PTR dwExtraInfo
);
Parâmetros
[in] bVk
Tipo: BYTE
Um código de chave virtual. O código deve ser um valor no intervalo de 1 a 254. Para obter uma lista completa, consulte Códigos de chave virtual.
[in] bScan
Tipo: BYTE
Um código de verificação de hardware para a chave.
[in] dwFlags
Tipo: DWORD
Controla vários aspectos da operação de função. Esse parâmetro pode usar um dos valores a seguir.
[in] dwExtraInfo
Tipo: ULONG_PTR
Um valor adicional associado ao traço da chave.
Retornar valor
Nenhum
Comentários
Um aplicativo pode simular uma pressionamento da tecla PRINTSCRN para obter uma tela instantâneo e salvá-la na área de transferência. Para fazer isso, chame keybd_event com o parâmetro bVk definido como VK_SNAPSHOT.
Exemplos
O programa de exemplo a seguir alterna a luz NUM LOCK usando keybd_event com uma chave virtual de VK_NUMLOCK. Ele usa um valor booliano que indica se a luz deve ser desativada (FALSE) ou ativada (TRUE). A mesma técnica pode ser usada para a tecla CAPS LOCK (VK_CAPITAL) e a 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 | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winuser.h (inclua Windows.h) |
Biblioteca | User32.lib |
DLL | User32.dll |