按键精灵如何实现后台指定坐标点击左键
3个回答
展开全部
给我Q 我教你做
下面是一个QQ种地游戏的后台点击源码。获取鼠标指定窗口,获取鼠标位置,并后台点击4*6=24个点。在画图软件中可以测试,仅供参考。
Hwnd = Plugin.Window.MousePoint()
//调用插件得到鼠标停留窗口句柄,结果返回给变量hwnd
Rect = Plugin.Window.GetClientRect(Hwnd)
//调用插件根据窗口句柄得到当前客户区坐标数据,结果返回给变量Rect
MyArray = Split(Rect , "|" , -1 , 1)
//以"|"这个条件来分割字符串rect,结果返回数组MyArray()
//在这里这个字符串rect分割后有4个数组元素,它们分别是:
//MyArray(0)=客户区左上角X坐标
//MyArray(1)=客户区左上角Y坐标
//MyArray(2)=客户区宽度
//MyArray(3)=客户区高度
UserVar hang=6 "种几行"
UserVar lie =4 "种几列"
NxAdd = 24.81
NyAdd = 12.95
GetCursorPos x, y
x = x - MyArray(0)
y = y - MyArray(1)
Nx = x
Ny = y
temp=0
While temp < hang
For lie
Call Plugin.Bkgnd.LeftClick(Hwnd ,Nx, Ny)
Nx = int(round(Nx + NxAdd+0.6,1))
Ny = int(round(Ny - NyAdd,1))
Next
temp = temp + 1
Nx = int(round(x + NxAdd * temp+0.4,1))
Ny = int(round(y + NyAdd * temp+0.6,1))
Wend
EndScript
下面是一个QQ种地游戏的后台点击源码。获取鼠标指定窗口,获取鼠标位置,并后台点击4*6=24个点。在画图软件中可以测试,仅供参考。
Hwnd = Plugin.Window.MousePoint()
//调用插件得到鼠标停留窗口句柄,结果返回给变量hwnd
Rect = Plugin.Window.GetClientRect(Hwnd)
//调用插件根据窗口句柄得到当前客户区坐标数据,结果返回给变量Rect
MyArray = Split(Rect , "|" , -1 , 1)
//以"|"这个条件来分割字符串rect,结果返回数组MyArray()
//在这里这个字符串rect分割后有4个数组元素,它们分别是:
//MyArray(0)=客户区左上角X坐标
//MyArray(1)=客户区左上角Y坐标
//MyArray(2)=客户区宽度
//MyArray(3)=客户区高度
UserVar hang=6 "种几行"
UserVar lie =4 "种几列"
NxAdd = 24.81
NyAdd = 12.95
GetCursorPos x, y
x = x - MyArray(0)
y = y - MyArray(1)
Nx = x
Ny = y
temp=0
While temp < hang
For lie
Call Plugin.Bkgnd.LeftClick(Hwnd ,Nx, Ny)
Nx = int(round(Nx + NxAdd+0.6,1))
Ny = int(round(Ny - NyAdd,1))
Next
temp = temp + 1
Nx = int(round(x + NxAdd * temp+0.4,1))
Ny = int(round(y + NyAdd * temp+0.6,1))
Wend
EndScript
追问
我就需要能后台指定坐标连续点鼠标左键的代码,麻烦你做一个给我咯,
再告诉我坐标参数怎么改,谢谢了 QQ 22 32 540 53
追答
Hwnd = Plugin.Window.MousePoint()
//调用插件得到鼠标停留窗口句柄,结果返回给变量hwnd
Rect = Plugin.Window.GetClientRect(Hwnd)
//调用插件根据窗口句柄得到当前客户区坐标数据,结果返回给变量Rect
MyArray = Split(Rect , "|" , -1 , 1)
//以"|"这个条件来分割字符串rect,结果返回数组MyArray()
//在这里这个字符串rect分割后有4个数组元素,它们分别是:
//MyArray(0)=客户区左上角X坐标
//MyArray(1)=客户区左上角Y坐标
//MyArray(2)=客户区宽度
//MyArray(3)=客户区高度
//说明:按照一定频率反复点击鼠标左键
//1秒 = 1000毫秒
UserVar Yanshi=20 "两次点击的时间间隔(毫秒)"
UserVar Num=20 "点多少次 如果大于1000则循环点击"
GetCursorPos x, y
Do
For M=1 to Num
//LeftClick 1
Call Plugin.Bkgnd.LeftClick(Hwnd, x-MyArray(0), y-MyArray(1))
Delay Yanshi
Next
loop Until Num < 1000
EndScript
展开全部
//指定点后台点击的例子------------------------
点击 = WaitClick()//等待点击
Delay 10
//得到鼠标指向的窗口句柄
Hwnd = Plugin.Window.MousePoint()
GetCursorPos x, y//保存当前坐标
//下面这句是得到窗口句柄的客户区大小
sRect = Plugin.Window.GetClientRect(Hwnd)
//MsgBox "得到窗口句柄:"& hwnd //显示句柄
//下面这句用于分割字符串,将横坐标和纵坐标分成两个字符串
//dim MyArray
MyArray = Split(sRect, "|")
//下面这句将字符串转换成数值
L = Clng(MyArray(0)): T = Clng(MyArray(1))
R = Clng(MyArray(2)): B = Clng(MyArray(3))
Do//循环开始
Delay 1000//等待1秒
Call Plugin.Bkgnd.LeftClick(Hwnd, x-l, y-t)//(变量为前台坐标系)
Loop//循环结点
点击 = WaitClick()//等待点击
Delay 10
//得到鼠标指向的窗口句柄
Hwnd = Plugin.Window.MousePoint()
GetCursorPos x, y//保存当前坐标
//下面这句是得到窗口句柄的客户区大小
sRect = Plugin.Window.GetClientRect(Hwnd)
//MsgBox "得到窗口句柄:"& hwnd //显示句柄
//下面这句用于分割字符串,将横坐标和纵坐标分成两个字符串
//dim MyArray
MyArray = Split(sRect, "|")
//下面这句将字符串转换成数值
L = Clng(MyArray(0)): T = Clng(MyArray(1))
R = Clng(MyArray(2)): B = Clng(MyArray(3))
Do//循环开始
Delay 1000//等待1秒
Call Plugin.Bkgnd.LeftClick(Hwnd, x-l, y-t)//(变量为前台坐标系)
Loop//循环结点
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
→_→我i只是完成个任务。你说的可能可以录制下来然后→_→
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询