TC官方合作论坛

标题: 传奇世界输入账号密码 [打印本页]

作者: TC兔子    时间: 2014-2-16 17:44
标题: 传奇世界输入账号密码
//输入账号
function InputUsername(mycom,name,winhwnd)  //三个参数,插件对象,输入内容,窗口句柄
    traceprint(winhwnd)
    thread.entercritical(QianDao.criticalhandle)   // 进入临界区,防止同时抢账号,只有在输入一个后再输入另外一个
    window.activate(winhwnd)   //激活窗口,不然的话,没法输入
    myx,myy
    ret=PublicClass.FindS(mycom,"账号","fefefe-000000",myx,myy,10,309,286,447,490)  //调用了其他控件的函数
    if(ret ==0)
        thread.leavecritical(QianDao.criticalhandle)   //如果不是输入账号密码界面,就离开临界区,返回0
        return 0
    endif
    help.sleep(500)
    mycom.SetDict(1,"LOGIN.txt")    // 切换字库
    mycom.UseDict(1)
    retext=mycom.Ocr(myx+40,myy-4,myx+200,myy+25,"fefefe-000000",1.0)
    comptext=str.replace(name,"O","0")  //把字母o换成数字0,不然识别会出错
    if(retext == comptext)
        mycom.UseDict(0)  //如果输入内容和比对内容一样的话,切换字库,换回原先的
        thread.leavecritical(QianDao.criticalhandle)  //离开临界区返回1
        return 1
    else
        PublicClass.MClick(mycom,myx+150,myy+8)   
        window.activate(winhwnd)
        drivekeyboard.keypress(8,20)
        drivekeyboard.keystring(name,70)
        help.sleep(500)
        retext=mycom.Ocr(myx+40,myy-4,myx+200,myy+25,"fefefe-000000",1.0)
        comptext=str.replace(name,"O","0")
        if(retext == comptext)
            mycom.UseDict(0)
            thread.leavecritical(QianDao.criticalhandle)
            return 1
        endif
    endif



    mycom.UseDict(0)
    thread.leavecritical(QianDao.criticalhandle)
    return 0

endfunction

//输入密码
function InpitPassword(mycom,name,winhwnd)
    thread.entercritical(QianDao.criticalhandle)
    window.activate(winhwnd)
    myx,myy
    ret=PublicClass.FindS(mycom,"密码","fefefe-000000",myx,myy,10,331,329,427,435)
    if(ret ==0)
        return 0
        thread.leavecritical(QianDao.criticalhandle)
    endif
    PublicClass.MClick(mycom,myx+150,myy+8)
    window.activate(winhwnd)
    drivekeyboard.keystring(name,70)
    help.sleep(500)
    len=str.strleng(name)
    mycom.SetDict(1,"LOGIN.txt")
    mycom.UseDict(1)
    retext=mycom.Ocr(myx+40,myy-4,myx+200,myy+25,"fefefe-000000",1.0)
    complen = str.strleng(retext)
    if(len== complen)
        mycom.UseDict(0)
        thread.leavecritical(QianDao.criticalhandle)
        return 1
    endif
    mycom.UseDict(0)
    thread.leavecritical(QianDao.criticalhandle)
    return 0
endfunction
其他的就不加注释了








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