vb 用快捷键怎么实现 鼠标左键连点?

2025-02-26 20:50:43
推荐回答(3个)
回答1:

这个问题建议你下载以个按键精灵或者按键游戏啊,什么程序都不需要写,直接定义一个激活键,也就是你的(~),然后定义左键点击就可以了。完全不需要写程序。里面涉及到的语言是VBS,只要有点VB基础就看得懂。

回答2:

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
一秒可以点几百次吧。全局检测

回答3:

VB的计时精度达不到1毫秒的

最小的计时单位是 55毫秒,