GetKeyboardState

GetKeyboardState функція копіювання стану 256 віртуальних клавіш до указаний буфер.

(BOOL GetKeyboardState PBYTE  lpKeyState / / вказівник масив отримати статус даних);
 

Параметри

lpKeyState
Вказівник 256-байтове масив, який буде отримувати статус даних для кожного віртуальний ключа.

Повернення значень

Якщо функція завершено успішно, значення, що повертається, є ненульовим.

Якщо функцію не вдається, значення дорівнює нулю. Щоб отримати докладні відомості про помилку, зателефонуйте GetLastError.

Зауваження

Заявку можна назвати цю функцію, щоб отримати відомості про поточний стан віртуальних клавіш. Як потік, зміни статусу видаляє клавіатури повідомлення з його черга повідомлень. Статус не змінюється, як на потоку чергу повідомлення надсилаються повідомлення клавіатури, ні це змінить як до або отримані з черги повідомлень з інших теми повідомлень клавіатури. (Виняток: теми, які підключаються через AttachThreadInput частку того ж держави клавіатури.)

Коли функція повертає, кожен член масиву вказав на lpKeyState параметр містить статус даних для віртуального ключа. Якщо вищого порядку біт 1, ключовим є вниз; в іншому випадку, це є. Якщо Низька порядку біт 1, переведені ключ. Ключ, як caps блокування ключ, є переведені Якщо увімкнуто. Ключ від і untoggled, якщо трохи низький порядок дорівнює 0. Клавіша перемикання індикатор світло (за наявності) на клавіатурі буде, коли переведені ключ, і вимикається, коли ключовим є untoggled.

Щоб отримати відомості про стан для окремих ключ, функція GetKeyState . Завантажити поточний стан для окремих ключем незалежно від того, чи була відновлена відповідне повідомлення клавіатури з черга повідомлень, використовується функція GetAsyncKeyState

Заявку можна використовувати віртуальний ключ кодекс константи, VK_SHIFT, VK_CONTROL і VK_MENU як покажчики в масив, вказав на lpKeyState. Це дає статусу shift, ctrl або alt ключі без урахування відмінностей між лівим і правим. Програми можна також використовувати наступних констант віртуальний ключ кодекс як покажчики розрізняти лівого та правого випадках ці ключі.

VK_LSHIFT VK_RSHIFT
VK_LCONTROL VK_RCONTROL
VK_LMENU VK_RMENU

Ці константи, ліворуч і праворуч розрізнення доступні для застосування тільки через GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyStateі MapVirtualKey функції.

QuickInfo

nbsp; Windows &NT: вимагає 3.1 або пізнішої версії.
Windows:Вимагає Windows 95 або пізнішої версії.
Windows CE:Не підтримується.
Заголовка:Оголошена в winuser.h.
Імпортувати бібліотеки:Використання user32.lib.

Дивіться також

Огляд введення клавіатури, клавіатури вводу функції, GetKeyState, GetAsyncKeyState, MapVirtualKey, SetKeyboardState

Index