标题和窗口文本
首页  后退  前进

AutoIt可以搜索三种头文件比较模式之一的窗口。比较模式由AutoItSetOption函数使用WinTitleMatchMode选项设置

 

模式1(默认)

比较标题部分与其开头。

在这种模式下,一个标题为"无名氏"的记事本 - 记事本可以被找到为"无名词 - 记事本","无名词","待"等

例如:

copysmall

WinWait('无名')

模式2

比较标题的任何子字符串。

在这种模式下,标题为"无名" - 记事本的窗口可以被看作"无名字 - 记事本","无名字","记事本","注"等

例如:

copysmall

WinWait('笔记本')

模式3

标题的完全匹配

在这种模式下,名称为"无名氏" - 记事本的窗口只能在使用"无名词 - 记事本"时找到

 

模式4(左向后兼容)

高级模式

标题文本应该被替换为扩展名,并且这不需要设置任何标题比较模式。

 

模式-1到-3

标题的强制比较小写(根据规则的规则)。

 

 

高级窗口搜索设置

特殊设置可以用作使用Windows的功能的标题。这些设置可用于通过以下属性来区分窗口:

标题 - 窗口标题

CLASS  - 窗口类的内部名称

REGEXPTITLE  - 窗口标题(使用正则表达式,如果正则表达式未正确编译,则值@error将被设置为2)

REGEXPCLASS  - 窗口类的名称(使用正则表达式,如果正则表达式未正确编译,则值@error将被设置为2)

LAST  - 上一个AutoIt命令中使用的最后一个窗口

ACTIVE  - 当前活动窗口

X \ Y \ W \ H  - 坐标和窗口大小

INSTANCE  - 窗口实例的数量,如果几个窗口对应于搜索条件(从1开始计数)。

在使用Windows的功能中,可以使用以下格式的一个或多个属性作为标题:

copysmall

[СВОЙСТВО1:值1;СВОЙСТВО2:值2]

对"属性"和"值"通过";"列出,其中"属性"和"值"之间用":"分隔。

注意:如果"值"必须包含";"字符,则必须重复。

 

例如: 等待激活窗口的名称为"记事本"

copysmall

exect=WinWaitActive('[CLASS:Notepad]','''')

例如: 关闭当前活动窗口

copysmall

exect=WinClose('[ACTIVE]','''')

例如: 等待激活第二个窗口,标题为"我的窗口",类名为"我的类"。使用3个属性

copysmall

exect=WinWaitActive('[TITLE:MyWindow;CLASS:My~~Class;INSTANCE:2]','''')

例如: 获取一个包含满足指定正则表达式模式的类的名称的列表

copysmall

exect=WinList('[REGEXPCLASS:#\d+]')

例如: 得到窗口的标题文本,坐标X = 50; Y = 40,宽度300,高度250.无需指定窗口的整个度量。使用5个属性。

copysmall

exect=WinGetTitle('[CLASS:My~~Class;X:50;Y:40;W:300;H:250]')

 

窗口描述符(HWND)

AutoIt中的不同类型的数据内置支持窗口描述符(HWND)。窗口句柄是操作系统分配给创建的每个窗口的特殊窗口。如果有一个描述符,那么可以使用任何可以使用具有参数标题/文本的窗口的函数来代替参数。在具有相同和文本标题的多个应用程序打开的情况下,可以观察到使用窗口描述符的优点,而您可以通过其描述符唯一标识窗口。如果使用窗口描述符作为参数一个标题,则参数文本将被完全忽略。

许多功能,例如WinGetHandle,WinList和GUICreate返回正确的窗口</ s>。重要的是要注意,窗口描述符不被考虑,因为数字或字符串是唯一的数据类型。

 

注意:使用描述符时,窗口是唯一确定的,不考虑已设置的WinTitleMatchMode模式。

 

例子

copysmall

exect=$var_handle=WinGetHandle('无名~~—~~Notepad','''')

 

 


tcimage © Аверин Андрей для Total Commander Image Averin-And@yandex.ru