请看如下代码:
Private Sub txtHotKey_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = 16 Or KeyCode = 17 Or KeyCode = 18 Then Exit Sub
txtHotKey = Shift & "+" & KeyCode
End Sub用户定制热键的一部分,
我想加入包含 Win 键的组合键, 可问题来了,
比如按下 Win+A, 结果他返回 Shift=0, KeyCode=91(Win键代码),
至于 A 键的信息就丢了.将其改为
Private Sub txtHotKey_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = 16 Or KeyCode = 17 Or KeyCode = 18 Or KeyCode = 91 Then Exit Sub
txtHotKey = Shift & "+" & KeyCode
End Sub结果他返回了 Shift=0, KeyCode=65,
A 键的信息还在, Win 键又丢掉了请大家指点如何解决这个问题, 谢谢.
Private Sub txtHotKey_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = 16 Or KeyCode = 17 Or KeyCode = 18 Then Exit Sub
txtHotKey = Shift & "+" & KeyCode
End Sub用户定制热键的一部分,
我想加入包含 Win 键的组合键, 可问题来了,
比如按下 Win+A, 结果他返回 Shift=0, KeyCode=91(Win键代码),
至于 A 键的信息就丢了.将其改为
Private Sub txtHotKey_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = 16 Or KeyCode = 17 Or KeyCode = 18 Or KeyCode = 91 Then Exit Sub
txtHotKey = Shift & "+" & KeyCode
End Sub结果他返回了 Shift=0, KeyCode=65,
A 键的信息还在, Win 键又丢掉了请大家指点如何解决这个问题, 谢谢.
解决方案 »
- vb6 height为什么可以达到10000以上?到底这个10000是以什么为单位?
- 这个循环有什么用?
- 一个简单的问题,如何将字符转为数字,1,820.00变成1820.00
- 按选择条件自动生成编号问题???
- 怎么判斷預設的打印機是否正常?
- ★☆★放200分庆祝多媒体版块成立!★☆★
- 如何用vb编写收发邮件的代码!急,在线等待!
- 有谁做过在vb中打印出Excel表格,数据源是Access
- 怎么连接不上数据库?高手进来帮个忙啊
- IBM TP600硬盘加密问题!!!在线等待
- 大家帮忙看看为什么用串口调试助手接收是好的,但用我自己编写的程序接收却总有几个字符变成了16进制3F(附串口调试助手和我的程序接收的16进制数据供分析)
- 打开数据库很慢
你在KeyDown中试一试
http://blog.csdn.net/northwolves/archive/2005/09/26/489452.aspx
Private Const VK_RWIN As Long = &H5CPrivate Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer'用KeyDown而不是KeyUp可以避免Win键先于A健释放的问题
Private Sub txtHotKey_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyA Then
Debug.Print "txtHotKey_KeyDown( " & KeyCode & ", " & Shift & ")", ;
If GetAsyncKeyState(VK_LWIN) Or GetAsyncKeyState(VK_RWIN) Then
Debug.Print "Win+A"
Else
Debug.Print "A"
End If
End If
End Sub