Какие ключи представлены шестнадцатеричными кодами & H? - PullRequest
0 голосов
/ 11 апреля 2011

РЕДАКТИРОВАТЬ: Я нашел статью, которая перечисляет именно то, что мне нужно: http://msdn.microsoft.com/en-us/library/ms646309(v=vs.85).aspx

Спасибо за вашу помощь!

Оригинал:

Мне интересно, какие клавиши клавиатуры представлены шестнадцатеричными кодами &H?

Например, я обнаружил, что &H1 - это клавиша ALT, &H2 - этоКлавиша CONTROL, а &H3 - это одновременно клавиши ALT и CONTROL.&H10 - это клавиша Shift, она появляется.Я спрашиваю, потому что мне нужно найти программу, которую я разрабатываю, для которой нужно зарегистрировать горячую клавишу.У пользователя есть возможность скрыть его, и я хочу убедиться, что он сможет показать его снова, нажав горячую клавишу, но мне нужно выяснить, что такое шестнадцатеричные ключи, чтобы использовать найденный мной код.

Вот часть кода, которую я нашел:

Public Const MOD_ALT As Integer = &H1 'Alt key
Public Const WM_HOTKEY As Integer = &H312

<DllImport("User32.dll")> _
Public Shared Function RegisterHotKey(ByVal hwnd As IntPtr, _
                    ByVal id As Integer, ByVal fsModifiers As Integer, _
                    ByVal vk As Integer) As Integer
End Function

<DllImport("User32.dll")> _
Public Shared Function UnregisterHotKey(ByVal hwnd As IntPtr, _
                    ByVal id As Integer) As Integer
End Function

Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
    If m.Msg = WM_HOTKEY Then
        Dim id As IntPtr = m.WParam
        Select Case (id.ToString)
            Case "100"
                MessageBox.Show("You pressed ALT+D key combination")
            Case "200"
                MessageBox.Show("You pressed ALT+C key combination")
        End Select
    End If
    MyBase.WndProc(m)
End Sub

И это регистрирует горячие клавиши при загрузке формы:

RegisterHotKey(Me.Handle, 100, &H3, Keys.D)
RegisterHotKey(Me.Handle, 200, Keys.Alt, Keys.C)

Эта - нить, которую я искална форумах MSDN - я скопировал код из рекомендуемого ответа.

Я провел тщательный поиск в Google и искал здесь в StackOverflow, но ничего не могу найти.

Может быть, где-то есть список шестнадцатеричных кодов или инструкции или что-то в этом роде?

Спасибо!

1 Ответ

1 голос
/ 11 апреля 2011

В том потоке MSDN, который вы связали, есть ссылка на Коды виртуальных ключей . Кроме того, проверьте перечисление System.Windows.Forms.Keys .

Обратите внимание, что метод RegisterHotKey принимает следующие аргументы: hWnd, id, fsModifiers и vk. ВК - это место, где вы размещаете код VirtualKey. Относительно fsModifiers:

клавиши, которые должны быть нажаты в комбинация с ключом, указанным параметр uVirtKey для того, чтобы генерировать сообщение WM_HOTKEY. Параметр fsModifiers может быть комбинация следующих значений: MOD_ALT (0x0001), MOD_CONTROL (0x0002), MOD_NOREPEAT (0x4000), MOD_SHIFT (0x0004), MOD_WIN (0x0008).

...