这些内容可以在按键自带的帮助里找到的,所以大家以后只要仔细多看命令的说明,一定能够学到不少知识的!
//↑多线程“后台”,无限多开
//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