关于用按键精灵设置鼠标按住拖动问题
我也是想编个鼠标拖动的代码,但是遇到和你一样的问题,就是实际运行的时候并无法实现拖动,根据你的最佳回答,我在每两个动作之间也加了delay但依旧无法实现。请问是哪里出了问...
我也是想编个鼠标拖动的代码,但是遇到和你一样的问题,就是实际运行的时候并无法实现拖动,根据你的最佳回答,我在每两个动作之间也加了delay 但依旧无法实现。请问是哪里出了问题?
代码如下:
MoveTo 251, 206
Delay 20
LeftDown 1
MoveTo 257, 501
LeftUp 1
Delay 2500 展开
代码如下:
MoveTo 251, 206
Delay 20
LeftDown 1
MoveTo 257, 501
LeftUp 1
Delay 2500 展开
6个回答
展开全部
Dim pinx
pinx = Plugin.Sys.GetScRX()
Call 平滑移动鼠标to(pinx, 0, 5000, 0, 0,10)
//这里展示了鼠标 历时5秒 从屏幕左上角移动到屏幕右上角的例子,下面是参数说明
//参数:平滑灵敏度说明:整形,范围1~其实坐标差最大值,鼠标单次跨越的距离。
//移动总时间越长或起始坐标距离越短,平滑灵敏度越小越好
//反之,越大越准确,但一般不超过起始坐标最大差值的10%
//设置灵敏度是为了调节delay函数延时太短时,无法准确执行延时
Function 平滑移动鼠标to(终点坐标px,终点坐标py,移动时间,起点坐标beginx,起点坐标beginy,平滑灵敏度)
dim mx
dim x,y
dim tx,ty
x=起点坐标beginx
y=起点坐标beginy
tx=abs(x-终点坐标px)
ty=abs(y-终点坐标py)
if tx>=ty
mx=tx
else
mx=ty
end if
if mx>0
for i = 0 to mx step 平滑灵敏度
sx=int((终点坐标px*i+x*(mx-i))/mx)
sy=int((终点坐标py*i+y*(mx-i))/mx)
moveto sx,sy
delay int(移动时间/mx*平滑灵敏度)
Next
else
delay 移动时间
end if
MoveTo 终点坐标px, 终点坐标py
平滑移动鼠标to=true
End Function
pinx = Plugin.Sys.GetScRX()
Call 平滑移动鼠标to(pinx, 0, 5000, 0, 0,10)
//这里展示了鼠标 历时5秒 从屏幕左上角移动到屏幕右上角的例子,下面是参数说明
//参数:平滑灵敏度说明:整形,范围1~其实坐标差最大值,鼠标单次跨越的距离。
//移动总时间越长或起始坐标距离越短,平滑灵敏度越小越好
//反之,越大越准确,但一般不超过起始坐标最大差值的10%
//设置灵敏度是为了调节delay函数延时太短时,无法准确执行延时
Function 平滑移动鼠标to(终点坐标px,终点坐标py,移动时间,起点坐标beginx,起点坐标beginy,平滑灵敏度)
dim mx
dim x,y
dim tx,ty
x=起点坐标beginx
y=起点坐标beginy
tx=abs(x-终点坐标px)
ty=abs(y-终点坐标py)
if tx>=ty
mx=tx
else
mx=ty
end if
if mx>0
for i = 0 to mx step 平滑灵敏度
sx=int((终点坐标px*i+x*(mx-i))/mx)
sy=int((终点坐标py*i+y*(mx-i))/mx)
moveto sx,sy
delay int(移动时间/mx*平滑灵敏度)
Next
else
delay 移动时间
end if
MoveTo 终点坐标px, 终点坐标py
平滑移动鼠标to=true
End Function
展开全部
要在两个点间加很多点
MoveTo 251, 206
Delay 20
LeftDown 1
MoveTo 251, 206
Delay 20
MoveTo 251, 306
Delay 20
MoveTo 251, 406
Delay 20
MoveTo 251, 456
Delay 20
MoveTo 257, 501
LeftUp 1
Delay 2500
这样才行
MoveTo 251, 206
Delay 20
LeftDown 1
MoveTo 251, 206
Delay 20
MoveTo 251, 306
Delay 20
MoveTo 251, 406
Delay 20
MoveTo 251, 456
Delay 20
MoveTo 257, 501
LeftUp 1
Delay 2500
这样才行
来自:求助得到的回答
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Function TuoDong(ii_x,ii_y,ii_x1,ii_y1)
'按键精灵实现拖拽鼠标功能,从(ii_x,ii_y)拖动到(ii_x1,ii_y1)
'不可以使用MoveTo指令,必须用MoveR相对移动功能,一个像素一个像素地拖动。
moveto ii_x,ii_y
delay 100
leftDown 1
delay 50
abs_x=abs(ii_x1-ii_x)
abs_y=abs(ii_y1-ii_y)
if ii_x1>ii_x then
deita_x= 1
else
deita_x= -1
endif
if ii_y1>ii_y then
deita_y= 1
else
deita_y= -1
endif
for i=0 to abs(ii_x1-ii_x)
MoveR deita_x,0
next
for i=0 to abs(ii_y1-ii_y)
MoveR 0,deita_y
next
delay 50
leftUP 1
End Function
Sub mmm()
TuoDong 100,100,300,300
End Sub
Event Form1.Button1.Click
Delay 3000
Call mmm
End Event
'按键精灵实现拖拽鼠标功能,从(ii_x,ii_y)拖动到(ii_x1,ii_y1)
'不可以使用MoveTo指令,必须用MoveR相对移动功能,一个像素一个像素地拖动。
moveto ii_x,ii_y
delay 100
leftDown 1
delay 50
abs_x=abs(ii_x1-ii_x)
abs_y=abs(ii_y1-ii_y)
if ii_x1>ii_x then
deita_x= 1
else
deita_x= -1
endif
if ii_y1>ii_y then
deita_y= 1
else
deita_y= -1
endif
for i=0 to abs(ii_x1-ii_x)
MoveR deita_x,0
next
for i=0 to abs(ii_y1-ii_y)
MoveR 0,deita_y
next
delay 50
leftUP 1
End Function
Sub mmm()
TuoDong 100,100,300,300
End Sub
Event Form1.Button1.Click
Delay 3000
Call mmm
End Event
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Function fPic(left, up, right, down, key)
FindPic left,up,right,down,"Attachment:\"+key+".bmp",0.8,intX,intY
If intX > 0 And intY > 0 Then
MoveTo intX, intY
Delay 10
LeftDown 1
Delay 10
MoveTo intX + 100, intY - 50
Delay 10
LeftUp 1
flag = 1
TracePrint "key" & j & ":" & key1
End If
End Function
FindPic left,up,right,down,"Attachment:\"+key+".bmp",0.8,intX,intY
If intX > 0 And intY > 0 Then
MoveTo intX, intY
Delay 10
LeftDown 1
Delay 10
MoveTo intX + 100, intY - 50
Delay 10
LeftUp 1
flag = 1
TracePrint "key" & j & ":" & key1
End If
End Function
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询