如何用VB做鼠标连续点击左键

游戏一直用按键精灵,自己也想学习做个。用VB 一个开始 按钮一个结束按钮 一个时间控件 。点开始 鼠标放在任意地方间隔3秒不停点击,点击结束停止点击。求教这个开始 ,结束 跟时间控件 代码怎么写!谢谢!
应该有人有写好的吧 发给我个

新建模块,代码如下,声明mouse_events函数
Public 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) '定义鼠标事件
Public Const MOUSEEVENTF_LEFTDOWN = &H2 ' left button down
Public Const MOUSEEVENTF_LEFTUP = &H4 ' left button up
Public Const HTCAPTION = 2
Public Const WM_NCLBUTTONDOWN = &HA1
Public Const MOUSEEVENTF_ABSOLUTE = &H8000 ' absolute move
Public Const MOUSEEVENTF_MOVE = &H1 ' mouse move

'假设开始按钮为command1,结束为为command2,时间控件为Timer1(间隔设置为3000)

Private Sub Command1_Click()
Timer1.Enabled = True
End Sub

Private Sub Command2_Click()
Timer1.Enabled = False
End Sub

Private Sub Timer1_Timer()
Dim x, y
'我这里使用绝对坐标,单位像素,举例为(100,100),想要在哪里点击自己设定
x = 100 * 65536 / (Screen.Width / Screen.TwipsPerPixelX) ‘对应屏幕横坐标100像素
y = 100 * 65536 / (Screen.Height / Screen.TwipsPerPixelY) ‘对应屏幕纵坐标100像素

mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_MOVE, x, y, 0, 0 '鼠标移动
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 '模拟鼠标的左键按下
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 '模拟鼠标的左键抬起
End Sub

注:此法会移动鼠标,如果不想移动鼠标可用postmessage函数,自己搜去
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-03-17
这个写出来得个把小时 , 悬赏的分要是 R计 估计很多人给你写 完整程序
在这里我们只能讨论怎么实现
点击 如果游戏能用键盘按键代替点击 最好用 sendkey 模拟按键
如果不行就要用到API mouse_event
开始 停止 可以控制一个timer的可用不可用
timer 控制点击 ,点击过程要适当延时 ,不然只点击一次 或一次都不起作用来自:求助得到的回答
第1个回答  2013-03-17
使用mouse_event 函数追问

不会 能不能帮我写出来 谢谢

追答

Private Declare Sub mouse_event Lib "user32" Alias "mouse_event" (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 ' left button down
Private Const MOUSEEVENTF_LEFTUP = &H4 ' left button up

public sub ddd()
mouse_event MOUSEEVENTF_LEFTDOWN,0,0,0,0
mouse_event MOUSEEVENTF_LEFTUP ,0,0,0,0

end sub

如何用VB做鼠标连续点击左键
mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_MOVE, x, y, 0, 0 '鼠标移动 mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 '模拟鼠标的左键按下 mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 '模拟鼠标的左键抬起 End Sub 注:此法会移动鼠标,如果不想移动鼠标可用postmessage...

VB編寫鼠標自動移動點擊左鍵
还有一个设置鼠标移动到某个点上. Dim p As PointAPI SetCursorPos p 'p.x=? p.y=? 自己设置 记得采纳啊

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

使鼠标单击左键的VB命令是什么?
1、首先我们要用FindWindow,知道游戏窗口的句柄,因为我们要通过它来得知游戏的运行后所在进程的ID,下面就是FindWindow的用法:HWND FindWindow(LPCTSTR lpClassName, \/\/ pointer to class name LPCTSTR lpWindowName \/\/ pointer to window name );2、我们GetWind...

VB模拟5秒\/次单击鼠标左键
Private Const MOUSEEVENTF_LEFTDOWN = &H2 ' left button down Private Const MOUSEEVENTF_LEFTUP = &H4 ' left button up Private Sub form_load()timer1.interval=5000 end sub Private Sub Timer1_Timer()mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 '鼠标左键按下 mouse_event MOUSEEVENTF...

如何使用VB 让鼠标左键重复点击
Const WM_LBUTTONUP = &H202 把这两个消息发送给一个按钮,按钮就会像真的被鼠标左键单击了一样。SendMessage函数中的后两个参数在本例中可以不理,简单置0即可。参考资料:http:\/\/www.yesky.com\/336\/83836.shtml

VB实现自动单击鼠标左键的代码是什么?
1. mouse_event 函数功能:该函数综合鼠标击键和鼠标动作。在Windows NT\/2000\/XP中,该函数已经被取消,使用SendInput函数代替。 函数原型: VOID mouse_event( DWORD dwFlags, \/\/ motion and click options DWORD dx, \/\/ horizontal position or change DWORD dy, \/\/ vertical position or change ...

vb 如何实现鼠标键连发
'mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0) '鼠标左键按下 yn = False Else : yn = True Form1.mouse_event(MOUSEEVENTF_LEFTUP, x, y, 0, 0) '鼠标左键抬起 End If End Sub Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms....

VB怎么实现鼠标移动过去执行一个命令按下去又执行另一命令?
Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Debug.Print "这是鼠标按下去执行的命令"End Sub Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Debug.Print "这是鼠标移动过去执行的命令。注意,...

vb编程 求鼠标左键自动单击的编程
先在公共声明部分声明:Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Long , ByVal dx As Long , ByVal dy As Long , ByVal cButtons As Long , ByVal dwExtraInfo As Long)然后在form1的load事件中添加:mouse_event (MOUSEEVENTF_LEFTDOWN ,2500,2500,0...

相似回答