TC官方合作论坛

 找回密码
 立即注册
查看: 2008|回复: 6

[已解决] 关于ts.EnumWindow这个功能使用

[复制链接]
发表于 2013-12-19 11:14:46 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
{:soso_e107:}  我新手.   下面是关于Dm/TS中都有的一个功能应用
单个窗口绑定用不上这个功能, 可是现在我想学习多窗口可是怎么用?实在搞不懂了,来救教下

//TS帮助中的示例
hwnds = ts.EnumWindow(0,"QQ三国","",1+4+8+16)
这句是获取到所有标题栏中有QQ三国这个字符串的窗口句柄集合
hwnd=array[]
str.split(hwnds,",",hwnd)
转换为数组后,就可以处理了
这里注意,hwnds数组里的是字符串,要用于使用,比如BindWindow时,还得强制类型转换,比如type.cint(hwnds(0))   //问题出现在这里




好比我开了三个QQ三国这个游戏


分别是 1窗口号 2窗口号 3窗口号
现在我想的是怎么通过上面的命令得三个窗口的句柄.然后从句柄找到窗口标题(标题中一般都带有游戏角色的名字)从选择想要绑定那个窗口
求教大神们这个功能如何使用, 最好直接以这个功能为例子 把示例中的这个完善了, 分别转换成句柄就可以了








第一次发贴,别让我感觉世间是如此冷漠....{:soso_e110:}





回复

使用道具 举报

发表于 2013-12-19 15:02:24 | 显示全部楼层
hwnds = ts.EnumWindow(0,"QQ三国","",1+4+8+16)

这句是获取到所有标题栏中有QQ三国这个字符串的窗口句柄集合

hwnd=array[]  //定义一个hwnd数组  用于存放枚举到的窗口句柄
str.split(hwnds,",",hwnd)   //分割上面获得的窗口句柄  分割符为  ,     分割完成后  赋值给 上面定义的 数组

你使用时直接调用该数组就行了

如:ts.BindWindow(hwnd[0],"dx","dx","dx",1) //绑定第一个窗口   hwnd[0] 存放了第一个窗口的句柄   三个窗口分别是:hwnd[0]  hwnd[1]  hwnd[2]
回复 支持 反对

使用道具 举报

发表于 2013-12-19 11:39:17 | 显示全部楼层
{:soso_e140:}加个遍历 分割加进下拉框就可以了嘛
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-19 12:28:24 | 显示全部楼层
陌上青衣。 发表于 2013-12-19 11:39
加个遍历 分割加进下拉框就可以了嘛

  人笨了. 我一直不知道怎么转换成句柄,给个例子吧...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-19 22:02:17 | 显示全部楼层
netboy 发表于 2013-12-19 15:02
hwnds = ts.EnumWindow(0,"QQ三国","",1+4+8+16)

这句是获取到所有标题栏中有QQ三国这个字符串的窗口句柄 ...

这个方法可以有 不过是定死的.如果只有一个窗口的时候就会出错了. 不知道你会上面版主说的那个遍历用法不,会的话上例子
回复 支持 反对

使用道具 举报

发表于 2013-12-20 09:58:27 | 显示全部楼层
变量  长度
数组空间.大小(hwnd,长度)

遍历(i=0;i<长度;i++)

ts.BindWindow(hwnd[i],"dx","dx","dx",1)

遍历结束
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-20 11:12:14 | 显示全部楼层
netboy 发表于 2013-12-20 09:58
变量  长度
数组空间.大小(hwnd,长度)

谢谢啊.学习了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-29 00:01 , Processed in 0.040052 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表