首页 后退 前进 |
AutoIt可以搜索三种头文件比较模式之一的窗口。比较模式由AutoItSetOption函数使用WinTitleMatchMode选项设置
模式1(默认) 比较标题部分与其开头。 在这种模式下,一个标题为"无名氏"的记事本 - 记事本可以被找到为"无名词 - 记事本","无名词","待"等 例如: WinWait('无名') 模式2 比较标题的任何子字符串。 在这种模式下,标题为"无名" - 记事本的窗口可以被看作"无名字 - 记事本","无名字","记事本","注"等 例如: WinWait('笔记本') 模式3 标题的完全匹配 在这种模式下,名称为"无名氏" - 记事本的窗口只能在使用"无名词 - 记事本"时找到
模式4(左向后兼容) 高级模式 标题文本应该被替换为扩展名,并且这不需要设置任何标题比较模式。
模式-1到-3 标题的强制比较小写(根据规则的规则)。
高级窗口搜索设置 特殊设置可以用作使用Windows的功能的标题。这些设置可用于通过以下属性来区分窗口: 标题 - 窗口标题 CLASS - 窗口类的内部名称 REGEXPTITLE - 窗口标题(使用正则表达式,如果正则表达式未正确编译,则值@error将被设置为2) REGEXPCLASS - 窗口类的名称(使用正则表达式,如果正则表达式未正确编译,则值@error将被设置为2) LAST - 上一个AutoIt命令中使用的最后一个窗口 ACTIVE - 当前活动窗口 X \ Y \ W \ H - 坐标和窗口大小 INSTANCE - 窗口实例的数量,如果几个窗口对应于搜索条件(从1开始计数)。 在使用Windows的功能中,可以使用以下格式的一个或多个属性作为标题: [СВОЙСТВО1:值1;СВОЙСТВО2:值2] 对"属性"和"值"通过";"列出,其中"属性"和"值"之间用":"分隔。 注意:如果"值"必须包含";"字符,则必须重复。
例如: 等待激活窗口的名称为"记事本" exect=WinWaitActive('[CLASS:Notepad]','''') 例如: 关闭当前活动窗口 exect=WinClose('[ACTIVE]','''') 例如: 等待激活第二个窗口,标题为"我的窗口",类名为"我的类"。使用3个属性 exect=WinWaitActive('[TITLE:MyWindow;CLASS:My~~Class;INSTANCE:2]','''') 例如: 获取一个包含满足指定正则表达式模式的类的名称的列表 exect=WinList('[REGEXPCLASS:#\d+]') 例如: 得到窗口的标题文本,坐标X = 50; Y = 40,宽度300,高度250.无需指定窗口的整个度量。使用5个属性。 exect=WinGetTitle('[CLASS:My~~Class;X:50;Y:40;W:300;H:250]')
窗口描述符(HWND) AutoIt中的不同类型的数据内置支持窗口描述符(HWND)。窗口句柄是操作系统分配给创建的每个窗口的特殊窗口。如果有一个描述符,那么可以使用任何可以使用具有参数标题/文本的窗口的函数来代替参数。在具有相同和文本标题的多个应用程序打开的情况下,可以观察到使用窗口描述符的优点,而您可以通过其描述符唯一标识窗口。如果使用窗口描述符作为参数一个标题,则参数文本将被完全忽略。 许多功能,例如WinGetHandle,WinList和GUICreate返回正确的窗口</ s>。重要的是要注意,窗口描述符不被考虑,因为数字或字符串是唯一的数据类型。
注意:使用描述符时,窗口是唯一确定的,不考虑已设置的WinTitleMatchMode模式。
例子 exect=$var_handle=WinGetHandle('无名~~—~~Notepad','''')
© Аверин Андрей для Total Commander Image Averin-And@yandex.ru |