我们通常的键盘输入时长按某个按键就会产生一连串重复的键盘事件(如按下A一三秒会收到一串"AAAAAAAAA"),如何用keybd_event模拟这种效果,当按键按下一会后就重复发送按键,直至按键松开呢?
解决方案 »
- 关于VB6中错误处理的问题,On Error GoTo处理不了,知道的大侠进来帮帮忙,谢谢
- webbrowser控件怎么获取网页中table?
- 如何得到 ADODB 返回的记录信息 (在线等候)
- 字符如何转换成数字
- 关于文件的独占问题!
- 如何判断一个表是否存在
- 用data report 能调用打印机打印吗,听说打印机不支持对象打印只能一个一个字符打印是吗
- 比如一个text中的内容为:230&&&&&&& 我只想要230这个值,如何取得?
- ActiveReport连打串行问题
- 利用VB如何锁定计算机,例如win2000,请代码示例,谢
- 已知椭圆长轴,短轴,原点坐标,如何求某一弧度椭圆上的点的坐标?
- 判断信息是否被写进注册表???
Const KEYEVENTF_EXTENDEDKEY = &H1
Const KEYEVENTF_KEYUP = &H2
Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
keybd_event Asc("A"), 0, KEYEVENTF_EXTENDEDKEY , 0
End SubPrivate Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
keybd_event Asc("A"), 0, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0
End Sub
Const KEYEVENTF_EXTENDEDKEY = &H1
Const KEYEVENTF_KEYUP = &H2
Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Timer1.Enabled = True
a = 0
Text1.Text = ""End SubPrivate Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Timer1.Enabled = False
Text1.SetFocus
For i = 0 To a
keybd_event Asc("A"), 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event Asc("A"), 0, KEYEVENTF_KEYUP, 0
Next i
End SubPrivate Sub Form_Load()
Timer1.Interval = 1000
Timer1.Enabled = False
End SubPrivate Sub Timer1_Timer()
a = a + 1
End Sub再Module中设置a变量
如果不用timer,那你需要看看一直按某个按键时系统都收发了那些消息。
doevents
keybd_event .....
loop停的时候使aaa=true这样应该行吧