编辑:我发现了一篇文章,其中列出了我需要的内容: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)
This是我在MSDN论坛上看到的主题 - 我从特色回答中复制了代码。
我已经完成了彻底的谷歌搜索,我在StackOverflow上搜索过,我找不到任何东西。
是否有某个十六进制代码列表,或指令或什么?
谢谢!
答案 0 :(得分:1)
在您链接的MSDN帖子中,有一个指向Virtual Key Codes的链接。 另外,请检查System.Windows.Forms.Keys枚举。
请注意,RegisterHotKey方法采用以下参数:hWnd,id,fsModifiers和vk。 VK是放置VirtualKey代码的地方。关于fsModifiers:
必须按下的键 与指定的密钥组合 uVirtKey参数以便 生成WM_HOTKEY消息。该 fsModifiers参数可以是a 以下值的组合: MOD_ALT(0x0001),MOD_CONTROL (0x0002),MOD_NOREPEAT(0x4000), MOD_SHIFT(0x0004),MOD_WIN(0x0008)。