空间 我的大漠多开
变量 dm=数组[10]
变量 多线程句柄=数组[10],参数组合=数组[1],窗口句柄数组=数组[]//定义数组
功能 开始_点击()
我的大漠多开.开启线程()
功能结束
功能 开启线程()
遍历(i=0;i<列表框.得到个数("列表框0");i++)
var 参数=窗口句柄数组&","&i//合并参数 窗口句柄和i的值,i的值是为了传递给DM 这个对象,每开启一次i+1
多线程句柄=线程.开启("我的大漠多开.绑定窗口",参数)
辅助.等待(1500)
遍历结束
功能结束
功能 绑定窗口(传入参数)
字符串.分割(传入参数,",",参数组合)
窗口句柄=参数组合[0]
j=参数组合[1]
dm[j]=com("dm.dmsoft")
dm[j].SetPath(辅助.获取资源路径("rc:"))
是否成功=dm[j].BindWindow(窗口句柄,"gdi","windows","windows",0)
如果(是否成功==1)
标签.设置文本("标签2","绑定成功,继续运行")
线程.开启("我的大漠多开.自动打怪",j)
否则
标签.设置文本("标签2","绑定失败,请重新启动脚本")
如果结束
功能结束
功能 自动打怪(a)
dm[a].MoveTo(35,34)
循环(真)
dm[a].KeyPress(65)
dm[a].KeyPress(68)
dm[a].KeyPress(83)
dm[a].KeyPress(67)
dm[a].KeyPress(67)
循环结束
功能结束
功能 解绑(a)
dm[a].UnBindWindow()
功能结束
功能 退出_点击()
遍历(i=0;i<列表框.得到个数("列表框0");i++)
线程.关闭(多线程句柄)
我的大漠多开.解绑(i)
辅助.等待(100)
遍历结束
辅助.退出()
功能结束
功能 是否有重复句柄(句柄)
遍历(i=0;i<列表框.得到个数("列表框0");i++)
如果(列表框.获得文本("列表框0",i)==句柄)
返回 (真)
如果结束
遍历结束
返回 (假)
功能结束
功能 热键0_热键()
句柄=窗口.鼠标所在窗口句柄()
如果(字符串.查找字符串(窗口.类名(句柄),"QQSGWinClass")!=-1)
如果(!我的大漠多开.是否有重复句柄(句柄))
数组空间.增加(窗口句柄数组,句柄,1)
列表框.增加文本("列表框0",句柄)
否则
辅助.消息框("抱歉,这个窗口已经加入了。")
如果结束
否则
辅助.消息框("抱歉,您好像搞错窗口了。")
如果结束
功能结束
功能 初始化()
辅助.注册插件("rc:dm.dll",真)
功能结束
空间结束
===============================================================================
以上代码是拿QQ三国 作为范例的 稍作修改即可使用其他游戏
==============================================================================
这个脚本的使用方法;
1 游戏模式要设置成 D3D8模式 32位色(在选区 开始游戏 下面有个游戏设置里面修改)
2.都必须要先将游戏窗口的一部分移动到屏幕外 因为采用的是大漠图色gdi模式
3.登陆上账号后自己找到 打怪的位置 在 按脚本脚面的 说明 将各个游戏窗口获取 获取完后即可 点击 开始脚本
==============================================================================
另外还有个疑问 就是 为什么当采用鼠键DX模式时(先说明QQ三国在游戏软件模式16位色时 是可以图色鼠键DX的模式) 显示绑定成功后 却不进行打怪功能 窗口的绑定也失效了(因为DX鼠键 窗口阻止了外部鼠标输入 但是绑定后 可以外部鼠标了 窗口绑定明显失效)知道额大神 指教一下啊。。
|