为什么按方向键显示4个
做一个后台运行的程序,把在键盘上按下的所有键都记录下来。按一些字母键还可以只显示一个,可按方向键时,显示4个(我是把键盘上按下的所有键记录在richtext中内)uparrowuparrowuparrowuparrow,可我只按了一下键盘啊。
部分代码如下:
Public Function EnableKBDHook()
If hnexthookproc <> 0 Then
Exit Function
End If
hnexthookproc = SetWindowsHookEx(WH_KEYBOARD, AddressOf MyKBHFunc, App.hInstance, 0)
If hnexthookproc <> 0 Then
EnableKBDHook = hnexthookproc
End If
End Function
Public Function MyKBHFunc(ByVal iCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
MyKBHFunc = 0 '信息要处理
If iCode < 0 Then
MyKBHFunc = CallNextHookEx(hnexthookproc, iCode, wParam, lParam)
Exit Function
End If
If Not ConvChar(wParam) Then
Call UnHookKBD
frmwin.Show
Exit Function
End If
Call CallNextHookEx(hnexthookproc, iCode, wParam, lParam)
End Function
Private Function ConvChar(ByVal vData As Long) As Boolean
ConvChar = True
Dim KeyResult As Integer
Select Case vData
Case 107 '小键盘+
frmwin.RText.Text = frmwin.RText.Text + "+"
Case 109 '小键盘—
frmwin.RText.Text = frmwin.RText.Text & "-"
Case 106 '小键盘*
frmwin.RText.Text = frmwin.RText.Text & "*"
Case 111 '小键盘/
frmwin.RText.Text = frmwin.RText.Text & "/"
Case 37
frmwin.RText.Text = frmwin.RText.Text & "leftarrow"
Case 38
frmwin.RText.Text = frmwin.RText.Text & "uparrow"
Case 39
frmwin.RText.Text = frmwin.RText.Text & "rightarrow"
Case 40
frmwin.RText.Text = frmwin.RText.Text & "downarrow"
end select
end function
高手帮帮忙,解决后马上结贴。
部分代码如下:
Public Function EnableKBDHook()
If hnexthookproc <> 0 Then
Exit Function
End If
hnexthookproc = SetWindowsHookEx(WH_KEYBOARD, AddressOf MyKBHFunc, App.hInstance, 0)
If hnexthookproc <> 0 Then
EnableKBDHook = hnexthookproc
End If
End Function
Public Function MyKBHFunc(ByVal iCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
MyKBHFunc = 0 '信息要处理
If iCode < 0 Then
MyKBHFunc = CallNextHookEx(hnexthookproc, iCode, wParam, lParam)
Exit Function
End If
If Not ConvChar(wParam) Then
Call UnHookKBD
frmwin.Show
Exit Function
End If
Call CallNextHookEx(hnexthookproc, iCode, wParam, lParam)
End Function
Private Function ConvChar(ByVal vData As Long) As Boolean
ConvChar = True
Dim KeyResult As Integer
Select Case vData
Case 107 '小键盘+
frmwin.RText.Text = frmwin.RText.Text + "+"
Case 109 '小键盘—
frmwin.RText.Text = frmwin.RText.Text & "-"
Case 106 '小键盘*
frmwin.RText.Text = frmwin.RText.Text & "*"
Case 111 '小键盘/
frmwin.RText.Text = frmwin.RText.Text & "/"
Case 37
frmwin.RText.Text = frmwin.RText.Text & "leftarrow"
Case 38
frmwin.RText.Text = frmwin.RText.Text & "uparrow"
Case 39
frmwin.RText.Text = frmwin.RText.Text & "rightarrow"
Case 40
frmwin.RText.Text = frmwin.RText.Text & "downarrow"
end select
end function
高手帮帮忙,解决后马上结贴。
...全文
相关推荐
Qt 方向键控制焦点移动,改变选中的控件
Qt 实现利用方向键控制光标在不同控件上移动(本资源控件为LineEdit),上下方向键可直接移动至上一个或下一个控件,左右方向键配合Ctrl键使用,本资源借鉴相关网络资源编写。
易语言用滚动条和键盘方向键控制移动显示图片
用滚动条和键盘方向键控制移动显示图片系统结构:易语言用滚动条和键盘方向键控制移动显示图片源码,用滚动条和键盘方向键控制移动显示图片 ======窗口程序集1 || ||------_按钮4_被单击
javascript上下方向键控制表格行选中并高亮显示的方法
主要介绍了javascript上下方向键控制表格行选中并高亮显示的方法,涉及javascript针对键盘按键操作相应的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
ubuntu方向键不能使用
解决较低版本ubuntu系统中方向键有可能不能使用的问题
用滚动条和键盘方向键控制移动显示图片-易语言
用滚动条和键盘方向键控制移动显示图片


VB基础类
