Під час обробки повідомлення клавіатури, програма може знадобитися визначити стан іншої клавіші, крім того, одне, що генеруються поточного повідомлення. Наприклад, програми обробки тексту, що дозволяє користувачеві натисніть shift + end, щоб виділити фрагмент тексту, слід перевірити статус клавішу shift, кожного разу, коли вона отримує повідомлення клавіші з клавішу завершення. Застосування GetKeyState функцію можна використовувати для визначення стану віртуальний ключ в той час було згенеровано поточного повідомлення; його можна використовувати функцію GetAsyncKeyState отримати відомості про поточний стан віртуальний ключа.
Розкладка клавіатури веде список імен. Ім'я ключа, що виробляє одного символу, так само, як символ, вироблених ключ. Ім'я ключа noncharacter, наприклад, tab і enter зберігаються як рядок символів. Застосунок може отримати ім'я будь-яку клавішу з драйвером пристрою, шляхом виклику функції GetKeyNameText.