首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

keybd_event 能实现按上5秒不放吗

2012-09-06 
keybd_event 能实现按下5秒不放吗?Private Declare Sub keybd_event Lib user32 (ByVal bVk As Byte, By

keybd_event 能实现按下5秒不放吗?
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const KEYEVENTF_KEYUP = &H2

Private Sub Command2_Click()
Dim a
  keybd_event vbKeySpace, 0, 0, 0 '按下空格
  keybd_event vbKeySpace, 0, KEYEVENTF_KEYUP, 0 '松开空格  
End Sub



成功实现模拟按键空格了

现在我想中间加个延时效果,实现按空格5秒后松掉

用过sleep 5000  

程序假死5秒后没下文了 空格只出来一个

结果总是失败,直接把keybd_event vbKeySpace, 0, KEYEVENTF_KEYUP, 0
删掉

他也只能按一个空格然后弹起

请问这样才能按下空格5秒不放?

[解决办法]
当然能,你发送按下消息,然后在延迟5秒,然后再发送弹起消息即可。
[解决办法]

VB code
Private Sub Command2_Click()    Timer1.Interval = 200    Timer2.Interval = 5000    Timer1.Enabled = True    Timer2.Enabled = TrueEnd SubPrivate Sub Form_Load()    Timer1.Enabled = False    Timer2.Enabled = FalseEnd SubPrivate Sub Timer1_Timer()  keybd_event vbKeySpace, 0, 0, 0 '按下空格  keybd_event vbKeySpace, 0, KEYEVENTF_KEYUP, 0 '松开空格End SubPrivate Sub Timer2_Timer()    Timer1.Enabled = False    Timer2.Enabled = FalseEnd Sub 

热点排行