|
马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
代码思路:打开第一个窗口时,执行第一段代码;在不停止代码时,打开第二个,就执行第二段代码;以此类推。
因为开完三个窗口,再开始执行,不知道哪段代码在哪个窗口执行了。也就是说,我要让某段代码在指定窗口运行。
再进一步的功能,可以某个窗口代码单停。
新手求指导,求优化。本来论坛有类似源码,但我用的7.0,看以前版本的代码,看的一头雾水。
var thread_id=array()
var dm
var hwnds
var hwnd=array()
var 子窗口=array()
//从这里开始执行
function 初始化()
regdll("f:\\game\\game_script\\dm.dll",true)
var ret=isregister("dm.dmsoft")
if(ret==0)
messagebox("插件未注册")
end
dm=com("dm.dmsoft")
traceprint(dm.ver())
var path=dm.SetPath("F:\\game\\game_TC","")
end
function 找窗口()
hwnds = dm.EnumWindow(0,"记事本","",1)
//这后面写的好几行,是发现这条命令,只能一次找到父窗口的句柄?
sleep(50)
var n
n=strsplit(hwnds,",",hwnd)
sleep(50)
traceprint(hwnd)
sleep(50)
for(var i = 0; i < 3; i++)
traceprint(i)
子窗口=dm.EnumWindow(hwnd,"","",4+8+16)
sleep(50)
traceprint(子窗口)
sleep(50)
select(i)
case 0
thread_id=threadbegin("第一个挂机","")
sleep(1000)
threadsuspend("thread_id")
sleep(2000)
threadresume("thread_id")
case 1
thread_id=threadbegin("第二个挂机","")
sleep(1000)
threadsuspend("thread_id")
sleep(2000)
threadresume("thread_id")
case 2
thread_id=threadbegin("第三个挂机","")
sleep(1000)
threadsuspend("thread_id")
sleep(2000)
threadresume("thread_id")
end
end
end
function 第一个挂机()
//从这里开始你的代码
traceprint("到第一个了吗")
sleep(200)
dm.BindWindow(子窗口[0],"dx2","dx2","windows",0)
sleep(500)
while(true)
dm.SendString(子窗口[0],"abc")
sleep(500)
dm.KeyPressChar("enter")
//这里,怎么向指定窗口发送enter键呢?我的代码enter没发向指定窗口。大漠命令写dm.KeyPressChar(子窗口[0],"enter")又不行
sleep(500)
end
end
function 第二个挂机()
traceprint("到第二个了吗")
sleep(200)
traceprint(dm.BindWindow(子窗口[1],"dx2","normal","windows",0))
sleep(500)
while(true)
dm.SendString(子窗口[1],"def")
sleep(500)
dm.KeyPressChar("enter")
sleep(500)
end
end
function 第三个挂机()
traceprint("到第三个了吗")
sleep(200)
traceprint(dm.BindWindow(子窗口[2],"dx2","normal","windows",0))
sleep(500)
while(true)
dm.SendString(子窗口[2],"hhh")
sleep(500)
dm.KeyPressChar("enter")
sleep(500)
end
end
function begin_点击()
//这里添加你要执行的代码
初始化()
sleep(500)
thread_id=threadbegin("找窗口","")
sleep(1000)
end
function over_点击()
//这里添加你要执行的代码
exit()
end
功能 热键0_热键()
//这里添加你要执行的代码
threadsuspend(thread_id)
结束
功能 热键1_热键()
//这里添加你要执行的代码
threadresume(thread_id)
结束
|
|