解决方案

AutoIt3相关——基本使用篇

seo靠我 2023-09-25 17:40:48

一、AutoIT可以干啥

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

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

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

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

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

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

7.对注册表进行操作

二、如何使用AutoIT

1.安装:

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

2.运行:

a.桌面双击运行

b.dos命令调用执行

 3.快速开始:

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

$CmdLine[2] 则是第 2 个参数……;

a.注释:

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

b.信息弹窗——MsgBox:

1

2

3

4

5

6

7

8

; 这是我写的第二个脚本(带自定义函数)

MsgBox(0, "我是弹窗标题", "我是弹窗内容")

; 函数名调用

TestFunc()

FunSEO靠我c TestFunc()

    MsgBox(0, "我是函数调用弹窗标题", "我是函数调用弹窗内容")

EndFunc

c.脚本编译:

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

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

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

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

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

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

5.窗口标题与文本

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

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

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

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

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

参数

属性

要改变SEO靠我的选项。请查看下面的注意部分。

参数

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

返回值

返回上一次设置的值。

注意

可用缩写函数 Opt() 代替 AutoItSetOption()(两者实际是SEO靠我同一函数).

如果指定一个未知属性则 AutoIt 将会暂停执行并显示错误信息。有效的属性包括:

属性

参数

CaretCoordMode

设置用于caret(插入符)函数的坐标参照,可以是绝对位置也可以是相对SEO靠我当前激活窗口的坐标位置。

0 = 相对激活窗口的坐标

1 = 屏幕的绝对位置(默认)

2 = 相对激活窗口客户区的坐标

ColorMode

设置要使用的颜色模式,RGB 或 BGR。RGB 是默认的模式,但老版SEO靠我本的 AutoIt(3.0.102 之前)是以 BGR 为默认模式:

0 = 颜色值以 RGB 格式表示(0xRRGGBB)(默认)

1 = 颜色值以 BGR 格式表示(0xBBGGRR) (用于旧版的 SEO靠我AutoIt)

ExpandEnvStrings

更改字面字符串和 % 符号的解释方式。默认情况下字符串按原文解释,此选项允许您在字符串中使用形如 %environment% 这样的环境变量,例如 "临时SEO靠我文件夹的路径是: %temp%"。

1 = 展开环境变量(类似于 AutoIt v2)

0 = 不展开展环境变量(默认)

若未设置此选项则要实现类似功能的方法是:"临时文件夹的路径是: " & EnvGetSEO靠我("temp")

ExpandVarStrings

更改字面字符串和变量/宏($ 和 @)符号的解释方式。默认情况下字符串按原文解释,此选项允许您在字符串中使用变量和宏,例如 "变量 var1 的值是 $SEO靠我var1$"。

1 = 展开变量(在此模式下如果要表示 $ 或 @ 本身则请用连续两个相应符号表示,例如:"这里有一个美元符号 $$")。

0 = 不展开变量(默认)

FtpBinaryMode

调整FTP文SEO靠我件的传输模式。

1 = 二进制(默认)

0 = ASCII

GUICloseOnESC

当用户在一个GUI窗口(处于激活状态时)按下 ESC 键则 $GUI_EVENT_CLOSE 消息将被发送。此选项用以切SEO靠我换这一行为。

1 = 在按下 ESC 时发送消息 $GUI_EVENT_CLOSE(默认).

0 = 在按下 ESC 时不发送消息 $GUI_EVENT_CLOSE

GUICoordMode

设置用于 GUISEO靠我CtrlSetPos 函数的坐标参照。

1 = 绝对坐标(默认)将相对于对话框。

0 = 相对于上一个控件的起始位置(左上角)。

2 = 相对当前单元格的位置。若参数“左侧”或“上方”指定为 -1则并不会增SEO靠我加起始位置,因此下一行应该用 -1,0 来表示;下一个单元格则是 0,-1;当前单元格则是 -1,-1

GUIOnEventMode

启用/取消 OnEvent 函数

0 = (默认)取消。

1 = 启用。

GSEO靠我UIResizeMode

更改控件大小调整的模式。

0 = (默认)不调整

<1024 = 详情请查看 GUICtrlSetResizing 函数的说明。

MouseClickDelay

更改每个鼠标点击命令之SEO靠我间的延迟时间长度。

以毫秒为单位(默认值 = 10)。

MouseClickDownDelay

更改在松开按键之前按住按钮的时间长度。

以毫秒为单位(默认值 = 10)。

MouseClickDragDelaySEO靠我

更改鼠标开始拖曳到结束拖曳之间的时间长度。

以毫秒为单位(默认值 = 250)。

MouseCoordMode

设置用于鼠标函数的坐标参照,可以是绝对位置也可以是相对当前激活窗口的坐标位置。

0 = 相对激活SEO靠我窗口的坐标

1 = 屏幕的绝对位置(默认)

2 = 相对激活窗口客户区的坐标

MustDeclareVars

如果设置了此选项为1则所有变量在使用之前必须先使用 Dim/Local/Global 声明,这将有SEO靠我助于减少各种因误拼变量而引起的bug的出现。

1 = 变量必须先声明

0 = 变量不需预先声明(默认)

OnExitFunc

设置在 AutoIt 退出时将调用的函数(默认值为 OnAutoItExit).

PSEO靠我ixelCoordMode

设置用于象素函数的坐标参照,可以是绝对位置也可以是相对当前激活窗口的坐标位置。

0 = 相对激活窗口的坐标

1 = 屏幕的绝对位置(默认)

2 = 相对激活窗口客户区的坐标

RunESEO靠我rrorsFatal

设置脚本在遇到严重错误时是否自动终止(比如在 Run/RunWait 函数因为 路径错误/找不到文件/登陆帐号错误 而导致执行失败时):

1 = 严重(致命性)错误(默认)

0 = 静SEO靠我默(普通的)错误(@error 将设为 1)

SendAttachMode

指定在使用 Send() 函数时 AutoIt 是否捆绑(attach)输入线程。当不捆绑的时候(默认模式 = 0)对 capsSEO靠我lock/scrolllock/numlock 等按键状态的检测将是不准确的(指在 NT4 下)。不过,在设置捆绑模式 = 1的时候,Send("{... down/up}") 等语法将不被支持,在发SEO靠我送按键的时候也可能会导致系统挂起等问题。至于 ControlSend() 函数则总是 捆绑线程的,而且不受此模式设置的影响。

0 = 不捆绑(默认)

1 = 捆绑

SendCapslockMode

指定是否让 SEO靠我AutoIt 在执行 Send 函数之前保存大小写切换键(CapsLock)的状态并在完成操作后恢复到原来的状态。

0 = 不保存/恢复

1 = 保存并恢复(默认)

SendKeyDelay

更改发送键击命令SEO靠我之间的延迟时间长度。

以毫秒为单位(默认值 = 5)。设置此值为0时也许会无效,这时请使用1代替。

SendKeyDownDelay

更改在每次键击期间(松开按键之前)按住按键的时间长度。对于一些需要花费一SEO靠我定时间才能注册键击的应用程序(以及各种游戏)您可能就要提高这一数值。

以毫秒为单位(默认值 = 1)。

TrayIconDebug

在托盘图标上显示当前脚本执行到的那一行的相关信息(工具提示)以助调试。

0 SEO靠我= 不显示调试信息(默认)

1 = 显示调试信息

TrayIconHide

隐藏 AutoIt 托盘图标。注意:托盘图标仍会在程序刚运行时出现大约 750 毫秒。

0 = 显示托盘图标(默认)

1 = 隐藏托盘SEO靠我图标

WinDetectHiddenText

指定是否让隐藏的窗口文本也能被窗口匹配函数“看见”(可用于窗口文本参数)。

0 = 不检测隐藏文本(默认)

1 = 检测隐藏文本

WinSearchChildrenSEO靠我

允许窗口搜索程序在搜索顶层窗口的同时也搜索子窗口。

0 = 仅搜索顶层窗口(默认)

1 = 搜索顶层窗口及子窗口。

WinTextMatchMode

更改窗口函数在执行搜索操作时的窗口文本匹配模式。

1 = 完SEO靠我全匹配(较慢)模式(默认)

2 = 快速模式

在快速匹配模式下,AutoIt 将只能“看见”对话框文本、按钮文本和某些控件的标题,而在默认模式下则能检测到更多的文本(例如记事本窗口的内容)。

如果在执行较多SEO靠我窗口的搜索操作时遇到性能(指速度)上的问题,那么您就应该考虑使用快速模式。

WinTitleMatchMode

更改窗口函数在执行搜索操作时的标题匹配模式。

1 = 只匹配标题的前面部分(默认)

2 = 标题SEO靠我的任意子串皆可匹配

3 = 完全匹配标题

4 = 高级模式,详情请查看 窗口标题与文本(高级篇)

WinWaitDelay

更改每次成功执行窗口相关操作后的延迟时间长度。

以毫秒为单位(默认值 = 250)。SEO靠我

b.WinWait四种模式

模式1(默认):只匹配标题的前面部分(默认)

模式2: 标题的任意子串皆可匹配

模式3:完全匹配标题

模式4:高级模式

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

    AutoItSetOption("WinTitleMatchMode", 4)

WinWaiSEO靠我tActive("demo")

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

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

 6.控件

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

a.控件的信息包括:

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

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

参数

窗口标题

目标窗口标题。

窗口文本

目标窗口文本。

控件ID

目标控件。请查看关于 控件 的说明。

按钮

[可选参数] 要点击的按钮SEO靠我,可以是 "left"(左键)、"right"(右键) 或 "middle"(中键)。默认值为 left(左键)。

点击次数

[可选参数] 要点击鼠标按钮的次数。默认值为 1.

返回值

成功:

返回值为1。

失败SEO靠我

返回值为0。

注意

在执行此命令前可能还需要使用 ControlFocus 命令把焦点转到目标控件上。

模拟点击控件仅在目标控件的父窗口处于激活状态(一般程序会自动激活该窗口)时才能保证100% 的准确性SEO靠我

相关

ControlCommand, ControlFocus, MouseClick

“SEO靠我”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与 我们联系删除或处理,客服邮箱:html5sh@163.com,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同 其观点或证实其内容的真实性。

网站备案号:浙ICP备17034767号-2