Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Hasło nie zostało zweryfikowane
Niniejsze hasło zostało opracowane, jednak nie zostało ono zweryfikowane przez administrację serwisu. Jeżeli znalazłeś błędy merytoryczne w niniejszym dokumencie, prosimy o ich zgłoszenie na forum w dziale Znalezione błędy.
Opracował: xevuel
Biblioteki C/C++

GetKeyboardState

[funkcja] Kopiuje stan 256 wirtualnych klawiszy do podanego bufora.

Składnia

C/C++
#include <windows.h>

BOOL WINAPI GetKeyboardState(
PBYTE lpKeyState
);

Argumenty

ArgumentOpis
lpKeyState256-bajtowa tablica, która otrzyma stan każdego wirtualnego klawisza.

Zwracana wartość

Jeśli funkcja wykona swoje zadanie, zwrócona wartość będzie niezerowa. W przeciwnym wypadku wyniesie ona 0. Aby uzyskać szczegółowe informacje o błędzie, użyj » WinAPIGetLastError.

Opis szczegółowy

Funkcja GetKeyboardState kopiuje stan 256 wirtualnych klawiszy do podanego bufora. Jeśli wyższy bajt danego elementu klawisza jest ustawiony na 1, klawisz ten jest wciśnięty. Jeśli klawisz jest przełączany (np. Caps Lock), niższy bajt jest ustawiony na 1, gdy klawisz jest aktywny, lub na 0 w przeciwnym wypadku. Aby uzyskać wyższe lub niższe bajty, użyj makr » WinAPIHIWORD lub » WinAPILOWORD.

Status zmienia się, kiedy wątek usunie daną wiadomość ze swojej kolejki komunikatów. Ani podczas wysyłania wiadomości do kolejki, ani podczas wysyłania lub usuwania wiadomości z kolejki komunikatów innego wątku, status nie jest zmieniany.

Do uzyskania informacji o indywidualnym klawiszu służy funkcja GetKeyState. Możesz też użyć GetAsyncKeyState, aby otrzymać tą informację niezależnie od tego, czy odpowiednia wiadomość została pobrana z kolejki komunikatów.

Aplikacje mogą używać następujących stałych wirtualnych klawiszy jako indeksów do tablicy wskazywanej przez lpKeyState:
  • VK_LSHIFT
  • VK_RSHIFT
  • VK_LCONTROL
  • VK_RCONTROL
  • VK_LMENU
  • VK_RMENU

Te stałe mogą być używane tylko w funkcjach GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState i MapVirtualKey.

Wymagania

Minimalny obsługiwany klientWindows 2000 Professional
Minimalny obsługiwany serwerWindows 2000 Server
NagłówekWinuser.h (wewnątrz Windows.h)
BibliotekaUser32.lib
DLLUser32.dll

Zagadnienia powiązane

BlockInputBlokuje wszystkie zdarzenia pochodzące od klawiatury i myszy. (funkcja)

Linki zewnętrzne