• AutoIt3相关——基本使用篇


    零、AutoIT v3在线中文手册

    https://www.jb51.net/shouce/autoit/

    番外:https://www.robvanderwoude.com/

    一、AutoIT可以干啥

    1.运行Windows 及 DOS 下的可执行文件

    2.模拟键击动作(支持大多数的键盘布局)

    3.模拟鼠标移动和点击动作

    4.对窗口进行移动、调整大小和其它操作

    5.直接与窗口的“控件”交互(设置/获取文字、移动、关闭等)

    6.配合剪贴板进行剪切/粘贴文本操作

    7.对注册表进行操作

    二、如何使用AutoIT

    1.安装:

    百度下载安装or(http://forspeed.onlinedown.net/down/autoit-v3-setup.zip  解压下一步安装即可)

    2.运行:

    a.桌面双击运行

    b.dos命令调用执行

     3.快速开始:

    注:autoIT关键字不区分大小写;autoIT以缩进来表示代码块;$CmdLine[0] 保存着命令行中参数的个数,$CmdLine[1] 是第 1 个参数,
    $CmdLine[2] 则是第 2 个参数……;

    a.注释:

    autoIT中以分号为单行注释,注释掉的内容不会被执行

    b.信息弹窗——MsgBox:

    ; 这是我写的第二个脚本(带自定义函数)
    MsgBox(0, "我是弹窗标题", "我是弹窗内容")
    ; 函数名调用
    TestFunc()
    
    Func TestFunc()
        MsgBox(0, "我是函数调用弹窗标题", "我是函数调用弹窗内容")
    EndFunc
    

    c.脚本编译:

    开始菜单点击Compile Script to .exe(x64),选择如下(ico可以不选),后点击convert,生成如第二张图的可执行文件

     

     生成的可执行文件即可脱离autoIT安装环境而执行

     4.窗口信息工具(AutoIt Window Info):

    开始菜单点击AutoIt Window Info(x64),打开窗口信息工具如下

     

     窗口信息工具可以获取的窗口信息如下:

    •  窗口标题
    •  窗口上的文本文字(包括可见部分和不可见部分)
    •  窗口的大小和坐标位置
    •  状态栏的内容
    •  鼠标指针的坐标位置
    •  鼠标指针所指象素的颜色值
    •  鼠标经过的控件的相关信息

    5.窗口标题与文本

    注:窗口标题和文本是严格区分大小写的;窗口信息工具中可以直接复制标题等

    WinWaitActive ( "窗口标题", ["窗口文本"], [超时时间] ):使脚本暂停执行并 一直等到 指定窗口出现且激活为止

    一般来说有效的文本是指编辑框控件内的文本,此外还可以使用下面这些文本:

    •  按钮上的文本,比如 &Yes、&No、&Next、确定(&O) 等(“&”号后的字符将带有下划线)
    •  对话框上的文本,比如 “是否要继续?”
    •  其它控件上的文本

    a.AutoItSetOption("属性", 参数):调整各种函数/参数的运作方式 

    参数

    属性 要改变的选项。请查看下面的注意部分。
    参数 相关参数(因设置的属性不同而不同)。请查看下面的注意部分。

    返回值

    返回上一次设置的值。

    注意

    可用缩写函数 Opt() 代替 AutoItSetOption()(两者实际是同一函数).
    如果指定一个未知属性则 AutoIt 将会暂停执行并显示错误信息。有效的属性包括:

    属性 参数
    CaretCoordMode 设置用于caret(插入符)函数的坐标参照,可以是绝对位置也可以是相对当前激活窗口的坐标位置。
    0 = 相对激活窗口的坐标
    1 = 屏幕的绝对位置(默认)
    2 = 相对激活窗口客户区的坐标
    ColorMode 设置要使用的颜色模式,RGB 或 BGR。RGB 是默认的模式,但老版本的 AutoIt(3.0.102 之前)是以 BGR 为默认模式:
    0 = 颜色值以 RGB 格式表示(0xRRGGBB)(默认)
    1 = 颜色值以 BGR 格式表示(0xBBGGRR) (用于旧版的 AutoIt)
    ExpandEnvStrings 更改字面字符串和 % 符号的解释方式。默认情况下字符串按原文解释,此选项允许您在字符串中使用形如 %environment% 这样的环境变量,例如 "临时文件夹的路径是: %temp%"。
    1 = 展开环境变量(类似于 AutoIt v2)
    0 = 不展开展环境变量(默认)
    若未设置此选项则要实现类似功能的方法是:"临时文件夹的路径是: " & EnvGet("temp")
    ExpandVarStrings 更改字面字符串和变量/宏($ 和 @)符号的解释方式。默认情况下字符串按原文解释,此选项允许您在字符串中使用变量和宏,例如 "变量 var1 的值是 $var1$"。
    1 = 展开变量(在此模式下如果要表示 $ 或 @ 本身则请用连续两个相应符号表示,例如:"这里有一个美元符号 $$")。
    0 = 不展开变量(默认)
    FtpBinaryMode 调整FTP文件的传输模式。
    1 = 二进制(默认)
    0 = ASCII
    GUICloseOnESC 当用户在一个GUI窗口(处于激活状态时)按下 ESC 键则 $GUI_EVENT_CLOSE 消息将被发送。此选项用以切换这一行为。
    1 = 在按下 ESC 时发送消息 $GUI_EVENT_CLOSE(默认).
    0 = 在按下 ESC 时不发送消息 $GUI_EVENT_CLOSE
    GUICoordMode 设置用于 GUICtrlSetPos 函数的坐标参照。
    1 = 绝对坐标(默认)将相对于对话框。
    0 = 相对于上一个控件的起始位置(左上角)。
    2 = 相对当前单元格的位置。若参数“左侧”“上方”指定为 -1则并不会增加起始位置,因此下一行应该用 -1,0 来表示;下一个单元格则是 0,-1;当前单元格则是 -1,-1
    GUIOnEventMode 启用/取消 OnEvent 函数
    0 = (默认)取消。
    1 = 启用。
    GUIResizeMode 更改控件大小调整的模式。
    0 = (默认)不调整
    <1024 = 详情请查看 GUICtrlSetResizing 函数的说明。
    MouseClickDelay 更改每个鼠标点击命令之间的延迟时间长度。
    以毫秒为单位(默认值 = 10)。
    MouseClickDownDelay 更改在松开按键之前按住按钮的时间长度。
    以毫秒为单位(默认值 = 10)。
    MouseClickDragDelay 更改鼠标开始拖曳到结束拖曳之间的时间长度。
    以毫秒为单位(默认值 = 250)。
    MouseCoordMode 设置用于鼠标函数的坐标参照,可以是绝对位置也可以是相对当前激活窗口的坐标位置。
    0 = 相对激活窗口的坐标
    1 = 屏幕的绝对位置(默认)
    2 = 相对激活窗口客户区的坐标
    MustDeclareVars 如果设置了此选项为1则所有变量在使用之前必须先使用 Dim/Local/Global 声明,这将有助于减少各种因误拼变量而引起的bug的出现。
    1 = 变量必须先声明
    0 = 变量不需预先声明(默认)
    OnExitFunc 设置在 AutoIt 退出时将调用的函数(默认值为 OnAutoItExit).
    PixelCoordMode 设置用于象素函数的坐标参照,可以是绝对位置也可以是相对当前激活窗口的坐标位置。
    0 = 相对激活窗口的坐标
    1 = 屏幕的绝对位置(默认)
    2 = 相对激活窗口客户区的坐标
    RunErrorsFatal 设置脚本在遇到严重错误时是否自动终止(比如在 Run/RunWait 函数因为 路径错误/找不到文件/登陆帐号错误 而导致执行失败时):
    1 = 严重(致命性)错误(默认)
    0 = 静默(普通的)错误(@error 将设为 1)
    SendAttachMode 指定在使用 Send() 函数时 AutoIt 是否捆绑(attach)输入线程。当不捆绑的时候(默认模式 = 0)对 capslock/scrolllock/numlock 等按键状态的检测将是不准确的(指在 NT4 下)。不过,在设置捆绑模式 = 1的时候,Send("{... down/up}") 等语法将不被支持,在发送按键的时候也可能会导致系统挂起等问题。至于 ControlSend() 函数则 总是 捆绑线程的,而且不受此模式设置的影响。
    0 = 不捆绑(默认)
    1 = 捆绑
    SendCapslockMode 指定是否让 AutoIt 在执行 Send 函数之前保存大小写切换键(CapsLock)的状态并在完成操作后恢复到原来的状态。
    0 = 不保存/恢复
    1 = 保存并恢复(默认)
    SendKeyDelay 更改发送键击命令之间的延迟时间长度。
    以毫秒为单位(默认值 = 5)。设置此值为0时也许会无效,这时请使用1代替。
    SendKeyDownDelay 更改在每次键击期间(松开按键之前)按住按键的时间长度。对于一些需要花费一定时间才能注册键击的应用程序(以及各种游戏)您可能就要提高这一数值。
    以毫秒为单位(默认值 = 1)。
    TrayIconDebug 在托盘图标上显示当前脚本执行到的那一行的相关信息(工具提示)以助调试。
    0 = 不显示调试信息(默认)
    1 = 显示调试信息
    TrayIconHide 隐藏 AutoIt 托盘图标。注意:托盘图标仍会在程序刚运行时出现大约 750 毫秒。
    0 = 显示托盘图标(默认)
    1 = 隐藏托盘图标
    WinDetectHiddenText 指定是否让隐藏的窗口文本也能被窗口匹配函数“看见”(可用于窗口文本参数)。
    0 = 不检测隐藏文本(默认)
    1 = 检测隐藏文本
    WinSearchChildren 允许窗口搜索程序在搜索顶层窗口的同时也搜索子窗口。
    0 = 仅搜索顶层窗口(默认)
    1 = 搜索顶层窗口及子窗口。
    WinTextMatchMode 更改窗口函数在执行搜索操作时的窗口文本匹配模式。
    1 = 完全匹配(较慢)模式(默认)
    2 = 快速模式
    在快速匹配模式下,AutoIt 将只能“看见”对话框文本、按钮文本和某些控件的标题,而在默认模式下则能检测到更多的文本(例如记事本窗口的内容)。
    如果在执行较多窗口的搜索操作时遇到性能(指速度)上的问题,那么您就应该考虑使用快速模式。
    WinTitleMatchMode 更改窗口函数在执行搜索操作时的标题匹配模式。
    1 = 只匹配标题的前面部分(默认)
    2 = 标题的任意子串皆可匹配
    3 = 完全匹配标题
    4 = 高级模式,详情请查看 窗口标题与文本(高级篇)
    WinWaitDelay 更改每次成功执行窗口相关操作后的延迟时间长度。
    以毫秒为单位(默认值 = 250)。

    b.WinWait四种模式

    模式1(默认):只匹配标题的前面部分(默认)
    模式2: 标题的任意子串皆可匹配
    模式3:完全匹配标题

    模式4:高级模式

    "classname=" 只匹配具有相同类别名的窗口。例如要识别一个类别名为 “MYCLASS1”的窗口,则可把“classname=MYCLASS1”作为窗口标题 参数使用。"active" 表示当前激活的窗口(实际作用与默认的 WinTitleMatchMode 模式下的 "" 一样)。"last" 使用上一次成功匹配的窗口,这样就不必三番四次地指定窗口标题和窗口文本了。

        AutoItSetOption("WinTitleMatchMode", 4)

        WinWaitActive("demo")

        WinWait("classname=Notepad++","",5)   ;匹配classname是Notepad++的窗口

        WinClose("last")   ;关闭前面匹配成功的记事本窗口

     6.控件

    注:AutoIt 仅支持标准的 Microsoft 控件 - 有些应用程序(的作者)自己写的自定义控件看起来很像是标准的 MS 控件,但却无法被脚本程序识别,那就只能靠您的经验判断了,实践出真理!

    a.控件的信息包括:

    • 控件 ID(Control ID):窗口信息工具获取
    • 类别名(ClassNameNN):窗口信息工具获取
    • 文本(Text):窗口信息工具获取
    • 控件句柄 (HWND):使用 ControlGetHandle 函数获取,ControlGetHandle ( "窗口标题", "窗口文本", 控件ID)

    b.ControlClick ( "窗口标题", "窗口文本", 控件ID [, 按钮] [, 点击次数]] ):向指定控件发送鼠标点击命令

    参数

    窗口标题 目标窗口标题。
    窗口文本 目标窗口文本。
    控件ID 目标控件。请查看关于 控件 的说明。
    按钮 [可选参数] 要点击的按钮,可以是 "left"(左键)、"right"(右键) 或 "middle"(中键)。默认值为 left(左键)。
    点击次数 [可选参数] 要点击鼠标按钮的次数。默认值为 1.

    返回值

    成功: 返回值为1。
    失败: 返回值为0。

    注意

    在执行此命令前可能还需要使用 ControlFocus 命令把焦点转到目标控件上。
    模拟点击控件仅在目标控件的父窗口处于激活状态(一般程序会自动激活该窗口)时才能保证100% 的准确性。

    相关

    ControlCommandControlFocusMouseClick

    持续更新中。。。。。。

     

  • 相关阅读:
    CodeForces
    EOJ 3506. 斐波那契数列
    牛客练习赛13 D幸运数字Ⅳ . 康托逆展开
    UVA
    Piggy-Bank HDU
    Dollar Dayz POJ
    UVA 674 Coin Change (完全背包)
    python OOP (1)
    python lambda简易使用
    python whl模块安装方法
  • 原文地址:https://www.cnblogs.com/ftxy/p/11844039.html
Copyright © 2020-2023  润新知