TC官方合作论坛

标题: 按键较真实鼠标轨迹改TC已经加了注释 望大神鞭策 [打印本页]

作者: shierliu    时间: 2013-3-27 11:47
标题: 按键较真实鼠标轨迹改TC已经加了注释 望大神鞭策
帮忙看下哦这样该行吗完美按键码:思路:两点之间直线上取10个坐标,每个坐标加随机数偏移
Sub 鼠标轨迹()//x1,y1终点
    GetCursorPos x0, y0       //当前坐标
    m = abs(x1 - x0)           //终点x到当前x坐标的绝对值m
    n = abs(y1 - y0)           //终点y到当前y坐标的绝对值n
    d = sqr(m ^ 2 + n ^ 2)         //两点之间距离d
    cs = int(d / 10)           //d分10步
    x2 = int((x1 - x0) / cs)        //x每次移动的距离
    y2 = int((y1 - y0) / cs)        //y每次移动的距离
    s = 0
    For i1 = 0 To int(d) Step 10       //距离d分十步
        If x3 = "" and y3 = "" Then       //如果为空
            x3 = x0                                              //给赋值当前坐标
            y3 = y0
        Else
            x3 = x3 & "|" & (x0 + x2 * s)          //得到十步的坐标
            y3 = y3 & "|" & (y0 + y2 * s)
        End If
        s = s + 1
    Next
    x = split(x3, "|")             //数组,每步的坐标
    y = split(y3, "|")
    For j1 = 0 To UBound(x)
        MoveTo x(j1) + shuijix(), y(j1) + shuijiy()              //每步坐标个加上随机数
        Delay 1
    Next
    MoveTo x1 + shuijix(), y1 + shuijiy()           //移到终点
End Sub


自改改TC:
功能 鼠标轨迹(x1,y1)
    变量 x0,y0,x3,y3,c1,x,y,返回串,x=数组[0],y=数组[0],ydx,ydy

鼠标.获取坐标(x0,y0)
    m=数学.绝对值(x1-x0)
    n=数学.绝对值(y1-y0)
    d=数学.开方(m*m + n*n)
    cs=类型.取整(d/10)
    x2=类型.取整((x1-x0)/cs)
    y2=类型.取整((y1-y0)/cs)
    s=0

    for(i1=0;i1<d;i1=i1+d/10 )
        if(x3==""&&y3=="")
            x3=x0
            y3=y0
        else
            x3=x3&"|"&(x0+x2*s)
            y3=y3&"|"&(y0+y2*s)
        endif
        s=s+1
    endfor

    str.split(x3,"|",x)
    str.split(y3,"|",y)
    arraysp.size(x,c1)
    for (j1=0;j1<c1;j1++)
        ydx=类型.转整型(x[j1])+辅助.随机数(1,5)
        ydy=类型.转整型(y[j1])+辅助.随机数(1,5)
       鼠标.移动(ydx,ydy)
       辅助.等待(5)
    endfor
    鼠标.移动(x1,y1)


运行效果不一样,哪里不对请帮吗改一下
难道TC强到都不用鼠标轨迹?
或者还是有什么更强大的?



作者: shierliu    时间: 2013-3-27 13:34
有这么难吗
作者: fuwei007    时间: 2013-3-27 17:16
话说这么复杂啊 。。。。。
作者: shierliu    时间: 2013-3-27 17:16
到底哪里不对啊,来看看把
作者: wsh14    时间: 2013-3-27 18:11
注释都没有?自己都不用心,别人多费劲啊
作者: shierliu    时间: 2013-3-27 18:20
回复 5楼wsh14的帖子

好我给你打注释!
等着啊
作者: shierliu    时间: 2013-3-27 20:05
自己解决了

功能 鼠标轨迹(x1,y1)
    变量 x0,y0,x3,y3,c1,x,y,返回串,x=数组[0],y=数组[0],ydx,ydy
鼠标.获取坐标(x0,y0)
    m=数学.绝对值(x1-x0)
    n=数学.绝对值(y1-y0)
    d=数学.开方(m*m + n*n)
    cs=类型.取整(d/20)
    x2=类型.取整((x1-x0)/cs)
    y2=类型.取整((y1-y0)/cs)
    s=0
    for(i1=0;i1<d;i1=i1+d/cs )

        if(x3==""&&y3=="")
            x3=x0
            y3=y0
        else
            x3=x3&"|"&(x0+x2*s)
            y3=y3&"|"&(y0+y2*s)
        endif
        s=s+1
    endfor
    str.split(x3,"|",x)
    str.split(y3,"|",y)
    arraysp.size(x,c1)
    for (j1=0;j1<c1;j1++)
        ydx=类型.转整型(x[j1])+辅助.随机数(-5,5)
        ydy=类型.转整型(y[j1])+辅助.随机数(-5,5)
       鼠标.移动(ydx,ydy)
       辅助.等待(5)
    endfor
    鼠标.移动(x1,y1)
功能结束
作者: wsh14    时间: 2013-3-27 20:59

作者: a397071176    时间: 2014-11-24 12:21
shierliu 发表于 2013-3-27 20:05
自己解决了

功能 鼠标轨迹(x1,y1)

你这个老是会发生未知错误




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1