Board logo

标题: TC脚本开发-窗口句柄的捕捉方法总结(3) [打印本页]

作者: look_w    时间: 2019-4-16 19:23     标题: TC脚本开发-窗口句柄的捕捉方法总结(3)

天使

查找符合类名或者标题名

函数简介:

查找符合类名或者标题名的顶层可见窗口

函数原型:

int FindWindow(string class,string title)

参数定义:

class 字符串: 窗口类名,如果为空,则匹配所有. 这里的匹配是模糊匹配.

title 字符串: 窗口标题,如果为空,则匹配所有.这里的匹配是模糊匹配.

返回值:

整型数:
整型数表示的窗口句柄,没找到返回0

示例:

hwnd = ts.FindWindow("","记事本")



根据指定的进程名字

函数简介:

根据指定的进程名字,来查找可见窗口.

函数原型:

int FindWindowByProcess(string process_name,string class,string title)

参数定义:

process_name字符串:进程名. 比如(notepad.exe).这里是精确匹配,但不区分大小写.

class 字符串:窗口类名,如果为空,则匹配所有.这里的匹配是模糊匹配.

title 字符串:窗口标题,如果为空,则匹配所有.这里的匹配是模糊匹配.

返回值:

整型数:
整型数表示的窗口句柄,没找到返回0

示例:

hwnd =ts.FindWindowByProcess("noteapd.exe","","记事本")


枚举

函数简介:

根据指定条件,枚举系统中符合条件的窗口,可以枚举到TC自带的无法枚举到的窗口

函数原型:

string EnumWindow(int parent,string title,string class_name,int filter)

参数定义:

parent 整型数: 获得的窗口句柄是该窗口的子窗口的窗口句柄,取0时为获得桌面句柄

title 字符串: 窗口标题. 此参数是模糊匹配.

class_name 字符串: 窗口类名. 此参数是模糊匹配.

filter整型数: 取值定义如下

1 : 匹配窗口标题,参数title有效

2 : 匹配窗口类名,参数class_name有效.

4 : 只匹配指定父窗口的第一层子窗口

8 : 匹配所有者窗口为0的窗口,即顶级窗口

16 : 匹配可见的窗口

这些值可以相加,比如4+8+16就是类似于任务管理器中的窗口列表

返回值:

字符串 :
返回所有匹配的窗口句柄字符串,格式"hwnd1,hwnd2,hwnd3"

示例:

hwnds = ts.EnumWindow(0,"QQ三国","",1+4+8+16)

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

hwnd=array[]
str.split(hwnds,",",hwnd)

转换为数组后,就可以处理了

这里注意,hwnds数组里的是字符串,要用于使用,比如BindWindow时,还得强制类型转换,比如type.cint(hwnds(0))


获取鼠标指向的窗口句柄

函数简介:

获取鼠标指向的窗口句柄,可以获取到TC自带的插件无法获取到的句柄

函数原型:

int GetMousePointWindow()

参数定义:

返回值:

整型数:
返回整型表示的窗口句柄

示例:

hwnd = ts.GetMousePointWindow()

获取给定坐标的窗口句柄

函数简介:

获取给定坐标的窗口句柄,可以获取到TC自带的插件无法获取到的句柄

函数原型:

int GetPointWindow(int x,int y)

参数定义:

X 整型数:屏幕X坐标

Y 整型数:屏幕Y坐标

返回值:

整型数:
返回整型表示的窗口句柄

示例:

hwnd = ts.GetPointWindow(100,100)



获取顶层活动窗口中具有输入焦点的窗口句柄

函数简介:

获取顶层活动窗口中具有输入焦点的窗口句柄

函数原型:

int GetForegroundFocus()

参数定义:

返回值:

整型数:
返回整型表示的窗口句柄

示例:

hwnd = ts.GetForegroundFocus()




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0