
vb 用快捷键怎么实现 鼠标左键连点?
我想自己做一个小程序,但是写了好多代码都不行!希望高手们能帮我一下,下面我说一下我要怎么做!开启程序的时候没有动作,按快捷键(~)也就是TAB键的上面那个键按快捷键(~)...
我想自己做一个小程序,但是写了好多代码 都不行!
希望高手们能帮我一下,下面我说一下我要怎么做!
开启程序的时候 没有动作,按快捷键(~)也就是TAB键的上面那个键
按快捷键(~)后 执行左键点击(鼠标我自己控制就行)
然后再按~ 停止 ,如果麻烦的话 按ESC 停止 也行,鼠标连点时间是1毫秒一次! 谢谢高手们!
可以连续点击 但是得在这个程序开启 而且选择的是这个程序的情况下!很好用!但是不能全局快捷键!比如我在另一个窗口 点快捷键的时候,就不管用!帮帮忙,再写一次 好吗?如果弄好了 我给你100分 展开
希望高手们能帮我一下,下面我说一下我要怎么做!
开启程序的时候 没有动作,按快捷键(~)也就是TAB键的上面那个键
按快捷键(~)后 执行左键点击(鼠标我自己控制就行)
然后再按~ 停止 ,如果麻烦的话 按ESC 停止 也行,鼠标连点时间是1毫秒一次! 谢谢高手们!
可以连续点击 但是得在这个程序开启 而且选择的是这个程序的情况下!很好用!但是不能全局快捷键!比如我在另一个窗口 点快捷键的时候,就不管用!帮帮忙,再写一次 好吗?如果弄好了 我给你100分 展开
3个回答
展开全部
这个问题建议你下载以个按键精灵或者按键游戏啊,什么程序都不需要写,直接定义一个激活键,也就是你的(~),然后定义左键点击就可以了。完全不需要写程序。里面涉及到的语言是VBS,只要有点VB基础就看得懂。
展开全部
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Private Const MOUSEEVENTF_LEFTDOWN = &H2
Private Const MOUSEEVENTF_LEFTUP = &H4
Dim KB As Boolean
Private Sub Form_KeyPress(KeyAscii As Integer)
'MsgBox KeyAscii '`96
If KeyAscii = 96 Then
KB = Not KB
End If
KeyAscii = 0
Do While KB = True
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
DoEvents
Loop
End Sub
Private Sub Form_Load()
KB = False
End Sub
窗体检测键盘~,检测到以后就一直死循环点左键。再按一次停止。
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer '声明
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Private Const MOUSEEVENTF_LEFTDOWN = &H2
Private Const MOUSEEVENTF_LEFTUP = &H4
Dim KB As Boolean
Public Function GetKey() As Boolean
Dim AddKey As String
KeyResult = GetAsyncKeyState(192) '回车键
If KeyResult = -32767 Then
GetKey = True
Else
GetKey = False
End If
End Function
Private Sub Form_Load()
KB = False
End Sub
Private Sub Timer1_Timer()
If GetKey = True Then
KB = Not KB
End If
If KB = True Then
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
DoEvents
End If
End Sub
timer1的间隔设成1
一秒可以点几百次吧。全局检测
Private Const MOUSEEVENTF_LEFTDOWN = &H2
Private Const MOUSEEVENTF_LEFTUP = &H4
Dim KB As Boolean
Private Sub Form_KeyPress(KeyAscii As Integer)
'MsgBox KeyAscii '`96
If KeyAscii = 96 Then
KB = Not KB
End If
KeyAscii = 0
Do While KB = True
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
DoEvents
Loop
End Sub
Private Sub Form_Load()
KB = False
End Sub
窗体检测键盘~,检测到以后就一直死循环点左键。再按一次停止。
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer '声明
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Private Const MOUSEEVENTF_LEFTDOWN = &H2
Private Const MOUSEEVENTF_LEFTUP = &H4
Dim KB As Boolean
Public Function GetKey() As Boolean
Dim AddKey As String
KeyResult = GetAsyncKeyState(192) '回车键
If KeyResult = -32767 Then
GetKey = True
Else
GetKey = False
End If
End Function
Private Sub Form_Load()
KB = False
End Sub
Private Sub Timer1_Timer()
If GetKey = True Then
KB = Not KB
End If
If KB = True Then
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
DoEvents
End If
End Sub
timer1的间隔设成1
一秒可以点几百次吧。全局检测
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
VB的计时精度达不到1毫秒的
最小的计时单位是 55毫秒,
最小的计时单位是 55毫秒,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询