Как определить, нажата ли клавиша Windows?
Я хотел бы быть в состоянии обнаружить, когда клавиша Windows нажата. Я попытался с функцией getasynckeystate ошибка не нашел правильный виртуальный ключ. Спасибо за вашу помощь!
3 ответа
Проверь это:
Вы ищете эти коды клавиш:
LWin The left Windows logo key (Microsoft Natural Keyboard).
RWin The right Windows logo key (Microsoft Natural Keyboard).
Образец кода:
Public Sub TextBox1_KeyPress(ByVal sender As Object, _
ByVal e As KeyPressEventArgs) Handles TextBox1.KeyPress
If (e.Key = Key.LWin Or e.Key = Key.RWin) Then
MsgBox("Pressed Windows Key")
End If
End Sub
Если вы действительно хотите использовать GetAsyncKeyState
значения, которые вы ищете, определены в WinUser.h как VK_LWIN
и VK_RWIN: 0x5B и 0x5C соответственно.
Коды ключей приведены на странице Перечисление ключей:
LWin Левая клавиша с логотипом Windows (Microsoft Natural Keyboard).
RWin Правильная клавиша с логотипом Windows (Microsoft Natural Keyboard).
Это не указывает, получен ли какой-либо из этих кодов (если есть) при использовании клавиатуры, отличной от Microsoft Natural Keyboard.
Если вы используете WinForms, вам нужно перехватить событие KeyDown
Если вы используете WPF, вам нужно событие Keyboard.KeyDown