• 新浪微博:
  • 微信 :
按键精灵电脑版
立即下载

软件版本:2014.05
软件大小:21.6M
更新时间:07-04

按键精灵安卓版
立即下载

软件版本:3.3.0
软件大小:62.5M
更新时间:5-24

按键精灵iOS版
立即下载

软件版本:1.3.3
软件大小:29.2M
更新时间:06-14

按键精灵Mac版
立即下载

软件版本:1.1.0
软件大小:12.3M
更新时间:12-29

快捷导航

登录 后使用快捷导航
没有帐号? 注册

登录 注册
返回列表 12345678» / 43
发新话题 回复该主题

后台多线程操作多窗口演示例子[大漠无限多开] [复制链接]

1#
本帖最后由 sunliantong 于 2012-9-23 22:27 编辑

Dimenv Hwnd1, Hwnd2, Hwnd3
//声明变量Hwnd1、Hwnd2、Hwnd3可在线程中调用
For 3
//循环3次
RunApp "notepad"
//打开记事本
Next
Delay 1000
//适当的延迟一下下
HwndEx = Plugin.Window.Search("无标题 - 记事本")
//查找所有标题为“无标题 - 记事本”的窗口句柄返回给变量HwndEx,格式“句柄|句柄|句柄|”
Hwnd = Split(HwndEx, "|")
//肢解
Hwnd1 = Plugin.Window.FindEx(Hwnd(0), 0, "Edit", 0)
//查找第一个窗口“Hwnd(0)”中的输入框(子句柄)句柄返回给变量Hwnd1
Hwnd2 = Plugin.Window.FindEx(Hwnd(1), 0, "Edit", 0)
//查找第二个窗口“Hwnd(1)”中的输入框(子句柄)句柄返回给变量Hwnd2
Hwnd3 = Plugin.Window.FindEx(Hwnd(2), 0, "Edit", 0)
//查找第三个窗口“Hwnd(2)”中的输入框(子句柄)句柄返回给变量Hwnd3
BeginThread A : BeginThread B : BeginThread C
//启动线程A、B、C,启动需要一定的时间。
Sub A()
Rem A
Call Plugin.Bkgnd.SendString(Hwnd1, "这是第1个!")
//线程A每秒向Hwnd1中发送一次文本
Delay 1000
Goto A
End Sub
Sub B()
Rem B
Call Plugin.Bkgnd.SendString(Hwnd2, "这是第2个!")
//线程B每秒向Hwnd2中发送一次文本
Delay 1000
Goto B
End Sub
Sub C()
Rem C
Call Plugin.Bkgnd.SendString(Hwnd3, "这是第3个!")
//线程C每秒向Hwnd3中发送一次文本
Delay 1000
Goto C
End Sub


这些内容可以在按键自带的帮助里找到的,所以大家以后只要仔细多看命令的说明,一定能够学到不少知识的!

//↑多线程“后台”,无限多开
//Dim hwnd,dm_ret,intX,intY,zx,zy,s
//Dim B_遍历,S_遍历,i
DimEnv 准备,aa,YY
准备="开始"
YY=5
//↑环境变量“准备”,用来判断,单个线程,是否,运行成功
Call 注册()
//<>------------------------------
Rem 检测窗口
B_遍历 = dm.EnumWindow(0,"新炫舞","Gamebryo Application",1+2)
TracePrint B_遍历
S_遍历 = split(B_遍历,",")
Delay 50
If UBound(S_遍历) >= 0 Then //判断是否搜到句柄?
jk=UBound(S_遍历)+1
Call Plugin.Msg.Tips("已检测到游戏已开"&jk&"个帐户")
For i=0 to UBound(S_遍历)
aa=Int(S_遍历(i))
TracePrint aa
//↑环境变量“aa”,传递“窗口句柄”
Delay 50
BeginThread 指挥中心
YY=YY+10//绑定时每个窗口Y坐标加10排列
Delay 1000
Next
Else
BOX= MsgBox ("没有检测到运行中的“51新炫舞”"&VBCR&"请开启全部要挂机的游戏后重试", 5+64, "51新炫舞脚本提示")
If BOX = 4 Then
Goto 检测窗口
End If
EndScript
End If
Do
Delay 1000
Loop While 7=7
//↑全部“多线程”启动完成,让主程序,进入死循环
//<>--------------------------------------------------------------------<>
//<>------------------------------子程序------------------------------<>
//<>--------------------------------------------------------------------<>
Sub 指挥中心()
hwnd=aa
TracePrint hwnd
set dm = createobject("dm.dmsoft")
//↑每一个线程,必须创建一个,大漠对象
dm.SetPath "c:\test_game"
//↑指定,大漠“相对路径”(通通改成了绝对路径)
dm.SetDict 0,"dm_soft.txt"
//↑相对路径……第一个·字库(通通改成了绝对路径)
Delay 50
//
Call 绑定()
准备="成功"
Do//子线程循环脚本主体
Call 左键单击(665, 444)
Delay 200
Loop While 7=7
End Sub
//
Sub 左键单击(zx,zy)
dm.MoveTo zx,zy
Delay 50
dm.LeftClick
End Sub
//
Sub 绑定()
Do
dm_ret = dm.SetWindowState(hwnd,12)
//↑设置“窗口”状态为恢复并激活指定窗口
dm.MoveWindow hwnd,-10,YY
//↑移动“窗口”到指定位置,允许移到“屏幕”外
Delay 500
dm_ret = dm.BindWindow(hwnd,"dx2", "dx", "dx",0)
Delay 200
If dm_ret=1 Then
TracePrint "绑定窗口"&hwnd&"成功"
Exit Do
End If
Loop While 7=7
//↑如果,成功,退出Do循环
//↑如果,失败,就一直绑定,直到成功
End Sub
//
Sub 注册()
need_ver = "3.1201B"
// 这里选择c盘的test-_game作为插件的基本目录 也就是SetPath对应的目录。所以所有资源都释放在此目录.
PutAttachment "c:\test_game","*.*"
// 这里要用到RegDll来注册插件,所以必须释放到Plugin. 但是切记不能把dm.dll释放到Plugin.那会导致插件失效.
PutAttachment ".\Plugin" ,"RegDll.dll"
//↑PutAttachment释放附件
// 插件注册开始>>>>>>>>>>>>>>>>>>>
// 下面开始注册插件,先尝试用RegDll来注册.这里必须使用绝对路径。以免有别人把dm.dll释放在系统目录.造成版本错误.
Call Plugin.RegDll.Reg("c:\test_game\dm.dll")
set dm = createobject("dm.dmsoft")
ver = dm.Ver()
if ver <> need_ver then
// 先释放先前创建的dm
set dm = nothing
// 再尝试用regsvr32 来注册. 这里必须使用绝对路径。以免有别人把dm.dll释放在系统目录.造成版本错误.
set ws=createobject("Wscript.Shell")
ws.run "regsvr32 c:\test_game\dm.dll /s"
set ws=nothing
Delay 1500
// 再判断插件是否注册成功
set dm = createobject("dm.dmsoft")
ver = dm.Ver()
if ver <> need_ver then
// 这时,已经确认插件注册失败了。 弹出一些调试信息,以供分析
messagebox "插件版本错误,当前使用的版本是:"&ver&",插件所在目录是:"&dm.GetBasePath()
endscript
end if
end if
// 插件注册结束<<<<<<<<<<<<<<<
//↑大漠·注册
Delay 40
End Sub
//
Sub OnScriptExit()
dm_ret = dm.UnBindWindow()
End Sub



隐藏内容再提供个大漠后台多线程无限开控制无限窗口例子

欢迎大家进我们的按键脚本讨论15:176469484

    已有7评分我要评分查看所有评分

    2#


    3#

    ipnu学习者

    4#

    比较急急急急急急急急急了

    5#

    看看。。。。。

    6#

    盛大盛大速度速度的

    7#

    学习学习

    8#

    大神我前来拜读

    9#

    他会让丰田

    10#


    11#


    12#

    她问我问题

    13#

    学习

    14#

    先学习一下

    15#

    需要回复才能看

    16#

    6666666666666666666666

    17#

    学习一下

    18#

    指教

    19#

    发送一次文本

    20#

    看看隐藏内容

    发新话题 回复该主题