TC官方合作论坛

标题: 新手 关于大漠的一个问题,望高人指点!! [打印本页]

作者: liqianglqx    时间: 2016-10-2 23:27
标题: 新手 关于大漠的一个问题,望高人指点!!
情况是这样的,我用大漠绑定了一个游戏窗口  后台模式。
比如现在 运行脚本 运行游戏,用脚本绑定游戏窗口,然后截图 找字都正常。

问题1.   当我再次截图 或者找字什么都不正常了,截图就是全黑 找字就肯定不行了
最后我发现 重新开游戏窗口 重新开脚本  然后截图找字正常,但是如果再次进行截图 依然是全黑图片!
不知为什么,  下面我发一下我的代码  望大神们  赐教!


//开始按钮_点击操作
function start_click()
    var dm = com("dm.dmsoft")
    var hwnd=窗口模糊查找("攻城","")   // Legend of mir2
    if(hwnd)
        调试输出("窗口句柄:"&hwnd)
        var ret = dm.BindWindowEx(hwnd,"dx2","dx.mouse.position.lock.api|dx.mouse.clip.lock.api|dx.mouse.input.lock.api","windows","",0)
        sleep(500)
        if(ret)
            调试输出("绑定窗口成功")
        else
            调试输出("窗口绑定失败")
        end
    else
        调试输出("未找到游戏窗口,请打开游戏")
    end
end

//退出按钮_点击操作
function exit_click()
    exit()
end

function JXCQ_init()
    //这里添加你要执行的代码
    regdll("rc:\\dm.dll",false)
    自动注册大漠("xxxxxxxx","xxx","6.1550",true)
end

function 自动注册大漠(RegCode,AddCode,DmVer,mode)  //mode  true代表注册收费, false 代表注册免费
    var isRegDm,当前版本,dmReg
    isRegDm = isregister("dm.dmsoft")
    //免费版本插件注册
    if( mode == false )
        traceprint("开始注册免费插件")
        if(isRegDm)
            dmReg = com("dm.dmsoft")
            traceprint("插件已注册,开始对比版本号.......")
            当前版本 = dmReg.Ver()
            if(当前版本!=DmVer)
                traceprint("版本号对比失败,将重新注册插件")
                var ret = regdll("rc:\\dm.dll",true)
                if(ret == true)
                    dmReg = null
                    dmReg = com("dm.dmsoft")
                    var dmver = dmReg.Ver()
                    traceprint("注册插件成功,版本号:"&dmver)
                elseif(ret == false)
                    traceprint("插件重新注册失败")
                    exit()
                end
            else
                traceprint("插件版本对比成功")
            end
        else
            traceprint("插件未注册,即将注册插件......")
            var ret =regdll("rc:\\dm.dll",true)
            if(ret == true)
                dmReg = com("dm.dmsoft")
                traceprint("插件注册成功,版本号:"&dmReg.Ver())
            elseif(ret == false)
                traceprint("插件注册失败")
                exit()
            end
        end

    elseif(mode == true)     //注册收费插件
        if(isRegDm)
            dmReg = com("dm.dmsoft")
            traceprint("插件已注册,当前版本号:"&dmReg.Ver())
            if(DmVer != dmReg.ver())
                traceprint("插件版本不相同,开始重新注册收费插件")
                var ret = regdll("rc:\\dm.dll",true)
                if(ret)
                    var newdm = com("dm.dmsoft")
                    traceprint("插件注册成功,版本号:"&newdm.Ver())
                    ret = newdm.Reg(RegCode,AddCode)      
                    if(ret == 1)
                        traceprint("注册收费插件成功")
                    else
                        traceprint("注册收费插件失败,错误码:"&ret)
                    end
                else
                    traceprint("重新插件注册失败")
                    exit()
                end
            end
        else
            traceprint("插件未注册,开始注册插件")
            var ret = regdll("rc:\\dm.dll",true)
            if(ret)
                dmReg = com("dm.dmsoft")
                traceprint("插件注册成功,版本号:"&dmReg.Ver())
                ret = dmReg.Reg(RegCode,AddCode)      
                if(ret == 1)
                    traceprint("收费插件,注册成功")
                else
                    traceprint("收费插件注册失败,错误码:"&ret)
                end
            else
                traceprint("重新插件注册失败")
                exit()
            end  
        end
    end
end

function JXCQ_destroy()

end

function test()
    调试输出("测试开始.......")
    var dm = com("dm.dmsoft")
    var hwnd=窗口模糊查找("攻城","")   // Legend of mir2
    if(hwnd)
        调试输出("窗口句柄:"&hwnd)
        var ret = dm.BindWindowEx(hwnd,"gdi","dx.mouse.position.lock.api|dx.mouse.clip.lock.api|dx.mouse.input.lock.api","windows","",0)
        sleep(500)
        if(ret)
            调试输出("绑定窗口成功")
        else
            调试输出("窗口绑定失败")
        end
    else
        调试输出("未找到游戏窗口,请打开游戏")
    end
    dm.Capture(0,0,800,600,"c:\\1122.bmp")
    变量 ret = dm.SetDict(0,"E:\\传奇辅助\\JXCQ\\JXCQ\\资源\\文字.txt")
    变量 str = dm.Ocr(220,172,272,189,"00ff00-000000",0.9)
    如果(str!=0)
        调试输出(str)
    end
end

function button0_click()
    //这里添加你要执行的代码
    test()
end


作者: chi98002    时间: 2016-10-3 23:55
先用前台模式试试

作者: liqianglqx    时间: 2016-10-4 19:17
感谢 回答! 已经解决了!  是解绑的问题 !




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