进程
功能原型: 进程.获取窗口句柄(handle,type=0)
功能说明: 通过进程相关信息获取窗口句柄,type:0 通过进程句柄,1 通过进程PID
功能举例:
handle=进程.打开("d:\\MF\\wow.exe")
进程.等待初始化(hanlde,1000)
hwnd=进程.获取窗口句柄(handle)
PS:无法得到有游戏保护的窗口句柄,已测试
大漠和天使插件的找窗口功能比较强大,能获得TC自身取不到的窗口
不过要先注册 下面是天使的注册方法,大漠的类似
然后引用命名空间.
大漠
查找符合类名或者标题名
函数简介:
查找符合类名或者标题名的顶层可见窗口
函数原型:
long FindWindow(class,title)
参数定义:
class 字符串: 窗口类名,如果为空,则匹配所有. 这里的匹配是模糊匹配.
title 字符串: 窗口标题,如果为空,则匹配所有.这里的匹配是模糊匹配.
返回值:
整形数:
整形数表示的窗口句柄,没找到返回0
示例:
hwnd = dm.FindWindow("","记事本")
枚举系统中符合条件的窗口
函数简介:
根据指定条件,枚举系统中符合条件的窗口,可以枚举到按键自带的无法枚举到的窗口
函数原型:
string EnumWindow(parent,title,class_name,filter)
参数定义:
parent 整形数: 获得的窗口句柄是该窗口的子窗口的窗口句柄,取0时为获得桌面句柄
title 字符串: 窗口标题. 此参数是模糊匹配.
class_name 字符串: 窗口类名. 此参数是模糊匹配.
filter整形数: 取值定义如下
1 : 匹配窗口标题,参数title有效
2 : 匹配窗口类名,参数class_name有效.
4 : 只匹配指定父窗口的第一层孩子窗口
8 : 匹配所有者窗口为0的窗口,即顶级窗口
16 : 匹配可见的窗口
32 : 匹配出的窗口按照窗口打开顺序依次排列 <收费功能,具体详情点击查看>
这些值可以相加,比如4+8+16就是类似于任务管理器中的窗口列表
返回值:
字符串 :
返回所有匹配的窗口句柄字符串,格式"hwnd1,hwnd2,hwnd3"
示例:
hwnds = dm.EnumWindow(0,"QQ三国","",1+4+8+16)
这句是获取到所有标题栏中有QQ三国这个字符串的窗口句柄集合
hwnds = split(hwnds,",")
转换为数组后,就可以处理了
这里注意,hwnds数组里的是字符串,要用于使用,比如BindWindow时,还得强制类型转换,比如int(hwnds(0)) |