文档库 最新最全的文档下载
当前位置:文档库 › AUTOIT3中文教程 - GOOGLECODE

AUTOIT3中文教程 - GOOGLECODE

AUTOIT3中文教程 - GOOGLECODE
AUTOIT3中文教程 - GOOGLECODE

AutoIt3中文教程<1.1>AutoIt v3 预览

介绍

AutoIt v3 是用以编写并生成具有 BASIC 语言风格的脚本程序的免费软件,它被设计用来在Windows GUI(用户界面)中进行自动操作。通过它可以组合使用模拟键击、鼠标移动和窗口/控件操作等来实现自动化任务,而这是其它语言所无法做到或尚无可靠方法实现的(比如VBScript和SendKeys)。

AutoIt 最初是为PC(个人电脑)的“批量处理”而设计,用于对数千台PC进行(同样的)配置,不过随着v3版本的到来它也很适合用于家庭自动化和编写用以完成重复性任务的脚本。

AutoIt 可以做的事:

?运行 Windows 及 DOS 下的可执行文件

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

?模拟鼠标移动和点击动作。

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

?直接与窗口的“控件“交互(设置/获取文字、移动、关闭,等等)?配合剪贴板进行剪切/粘贴文本操作

?对注册表进行操作

不同于 AutoIt v2,新的v3版本含有更多的标准语法——类似于VBScript和BASIC——而且现在支持更复杂的表达式、用户函数、循环以及脚本编写老手们所期待的其它所有内容。

正如前一个版本一样,AutoIt 被设计得尽可能小(大约115KB)并且不用依赖外部DLL文件或添加注册表项目即可独立运行。使用 Aut2Exe 这个工具即可把脚本文件编译为可独立运行的文件。

此外我们还更新了 AutoIt 的 ActiveX 和 DLL 版本——AutoItX,与v2版本不同的是,这是个组件化的语言(COM 同一DLL文件中的标准DLL函数)。AutoItX 将使得您可以加入一些AutoIt 独有的特性到您最常用的脚本语言或程序设计

语言中去!请查看 AutoItX 的帮助文档(开始 \ 所有程序 \ AutoIt v3 \ Extras \ AutoItX \ AutoItX Help File)以获得更多信息和示例。

最重要的是,AutoIt 将继续是免费的——不过如果您打算支持我们花在此工程和网站主机上的时间、费用以及所作努力的话,那么您可以到AutoIt 的主页上进行捐赠。

新内容

v3 具有完全不同于v2.64的语法,因此不能兼容旧的脚本。不过,v2.64仍旧受到支持并且可以下载。AutoIt v3 和 v2.64可以同时装在同一台机器上而不会有任何问题,同时还可以保持旧脚本的完好。v2版本使用的是.aut后缀的扩展名,而v3版本使用的是.au3后缀的扩展名。因此不必为了适应v3版本而重写v2.64版本的脚本。

v3 保持了前一版本中窗口标题、窗口文字、按键和鼠标模拟这些概念,但同时也有了很多新的特性:

控件

直接获取编辑框、复选框、列表框、选择框、按钮、状态栏上的信息,并且作用于这些控件而不必担心键击动作落空。甚至还可以作用于非活动窗口上的控件!

语言升级

“更适用的”数值类型、无限长度的字符串、混合语句、if 语句、条件选择语句、while 循环语句、for 循环语句、do 循环语句、函数、数组、优秀的字符串处理(超过25个函数!)——其余功能尚未列出。所有这些都使得制作自动化程序的过程不再痛苦。是的,这是个GUI自动化语言,但v3版的语法将更加强大,足以用来编写一般用途的脚本。AutoIt 的旧版本总是被认为是“不太合适的语言”,现在将不再是这样了。

模拟键击和鼠标动作

我们花了许多时间用在对键击和鼠标动作的模拟功能的优化上,使其在目前所有的操作系统上都可以做到尽可能的精确。在这一版本中鼠标动作的功能也表现得更像“人类”了,甚至可以用来创建灵活的演示脚本。所有模拟鼠标和键盘动作的程序在模拟动作的“速度”及其它功能上都是高度可定制的。

窗口操作

除了“标题/文字”这种v2版本已有的识别窗口的方法以外,现在还可以通过类别名和句柄来识别窗口。您可以对窗口进行移动、隐藏、显示、调整大小、激活、关闭以及其它所有您想要实现的操作。

还有很多很多...

AutoIt v3 官方下载地址:

https://www.wendangku.net/doc/ef8329625.html,/

AutoIt3中文教程<2.1> 编写运行我的第一个脚本

运行脚本

如果您运行 AutoIt(AutoIt3.exe)则会被询问要打开哪个脚本文件。所谓脚本文件是指包含有AutoIt的关键字及相关函数的文本文件。使用简单的文本编辑器(比如记事本notepad.exe)即可创建脚本文件,当然我们还有更好的选择。

尽管 AutoIt v3 的脚本只是些纯文本文件,但为了区分脚本文件和文本文件我们给它定义了.au3这个特殊的文件后缀。如果您完整安装了AutoIt,那么只需直接双击这些脚本文件即可运行它们。如果您在一个后缀为 .au3的脚本文件上点击右键的话,还可以看到有其它的关联操作如 open(打开)、edit(编辑)或者 compile script(编译脚本)等。

下面是一个示例脚本。注意第一行的英文“;”号被用来注释语句(类似于DOS 下批处理文件的REM命令):

; 这是我写的第一个脚本

MsgBox(0, "这是我写的第一个脚本程序!", "Hello World!")

更复杂的脚本一般会用到函数,通常我们把函数放在脚本的最后部分。下面是一个带有函数的脚本示例:

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

MsgBox(0, "第二个脚本!", "此对话框从主脚本中调出!")

TestFunc()

Func TestFunc()

MsgBox(0, "第二个脚本!", "此对话框从函数中调出!")

EndFunc

命令行参数

AutoIt 脚本程序可通过命令行调用,当我们传递命令行参数到脚本中的时候会有一个特殊的数组 $CmdLine 保存相关数据。注意,脚本文件名不算进参数,如果要获得脚本文件名请查看关于 @ScriptName 的说明。如果某个参数中包含有空格字符则必须用英文“双引号”把这个参数围住。已编译的脚本的也是以同样的方式接收命令行参数的。

$CmdLine[0] 保存着命令行中参数的个数(不包括脚本文件名)

$CmdLine[1] 是第 1 个参数

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

...

我们常用 $CmdLine[$CmdLine[0]] 来表示最后一个参数...

如果您的脚本是像下面这样被运行的话:

AutoIt3.exe myscript.au3 参数1 "这是一个字符串型参数" $CmdLine[0] 等价于 (2)

$CmdLine[1] 等价于...参数1

$CmdLine[2] 等价于...这是一个字符串型参数

@ScriptName 等价于... myscript.au3

除了$CmdLine之外,还有一个变量叫做 $CmdLineRaw,它保存着完整的未被拆分的命令行语句,对于上面这个例子

$CmdLineRaw 等价于...myscript.au3 参数1 "这是一个字符串型参数"

AutoIt3中文教程<2.2> 脚本编辑器

脚本编辑器(Script Editors)

AutoIt 脚本都是一些很简单的文本文件,用记事本就可以轻松编辑了。但是更好的选择或许是使用一些强大的免费/共享编辑器,它们一般都会提供诸如语法高亮(让AutoIt的关键字和函数高亮并着色显示从而使得脚本更加易读而且减少错误的产生)等功能,因此会更适合用来编写脚本程序,

目前多数的 AutoIt 用户使用的编辑器是SciTe,AutoIt开发小组已开发了SciTe的 AutoIt 版本,该版本带有所有的语法高亮功能,同时还整合了很多AutoIt的第三方工具(比如语法错误检查和脚本整理等)。如需要 SciTe 的AutoIt 版本请访问此页:https://www.wendangku.net/doc/ef8329625.html,/autoit3/scite/

下面是一些推荐的编辑器:

?TextPad

?Crimson Editor (免费的)

?Source Edit (免费的)

?UltraEdit

论坛里经常会有关于哪一个编辑器最好的争论:)

AutoIt 已附带了一些为各种编辑器预写的语法文件,您可在AutoIt安装目录的Extra文件夹下找到它们(在开始菜单 / AutoIt v3 / Extra 有一个快捷方式)。

AutoIt3中文教程<2.3> 使用Aut2Exe编译脚本

使用Aut2Exe编译脚本(Compiling Scripts with Aut2Exe)

把AutoIt的.au3脚本文件编译成可独立运行的程序当然是可实现的,这样就可以使得编译后的程序得以在没有安装AutoIt(或者说没有AutoIt3.exe这个解释程序)的机器上运行。此外,编译好的脚本程序是经过压缩和加密的,而且还可使用FileInstall 函数来绑定(装入)所需文件(同样也会被压缩和加密)到生成的程序中。当然,所有被#include(包含)的文件都会被连接并编译进目标文件中,这样脚本(程序)在运行时就不再需要这些文件了。

Aut2Exe 的使用方法有以下三种:

方法 1 - 开始菜单(Start Menu)

此方法要求完整安装AutoIt.

1. 打开开始菜单并选择 AutoIt v3 程序组。

2. 点击“Compile Script to .exe”。

3. Aut2Exe的主界面就出现在您的面前了。

4. 点击浏览(Browse)按钮来选择要编译的脚本文件(.au3)和程序的输出位置(.exe)。

5. 如要修改目标程序的图标则请点击(第三个)浏览(Browse)按钮并指定图标文件(也可使用由AutoIt提供的一些示例图标:默认位于Program

Files\AutoIt3\Aut2Exe\Icons).

6. 如果不希望有任何人反编译您的脚本程序(现已有反编译工具)则请在下方输入加密密码。

7. 现在只剩下一个可能会需要调整的设置了,那就是编译程序时的压缩级别(在使用FileInstall装入大量文件时特别有用)。打开压缩级别(Compression)菜单即可进行设置。正如其它压缩程序一样,您选择的压缩级别越高则压缩速度越慢。不过,无论您选择哪一种压缩级别(最终生成的.exe程序)在解压(运行)的时候速度都是差不多的。

8. 点击转换(Convert)按钮即可编译脚本。

方法 2 - 右键菜单(Right Click)

此方法要求完整安装AutoIt.

1. 在资源管理器中找到您要编译的 .au3 脚本文件。

2. 在其上点击右键。

3. 在出现的右键菜单上点击“”,则脚本文件即被编译并在同一目录下生成一个同名文件(当然,扩展名变成.exe)。

当您选择使用这种编译方式的时候,Aut2Exe 将使用当前的图标和压缩级别设置(也即上一次通过第一种方式编译时的设置)。

方法 3 - 命令行(The Command Line)

Aut2Exe.exe也可在命令行环境下运行,例如:

Aut2exe.exe /in [/out ] [/icon

] [/nodecompile] [/comp 0-4] [/pass ]

长文件名应该用双引号围住,如 "C:\Program Files\Test\test.au3"。若没有给定“out” 文件名则生成与脚本文件同名的程序(仅扩展名不同)。

『注:参数中的指的是要编译的脚本文件位置(相对路径或绝对路径),指的是编译后的程序生成的位置,指的是图标文件的位置,[/comp 0-4]指的是压缩级别,指的是加密密码。』

技术细节

在脚本编译和使用FileInstall函数装入外部文件时所用的是我本人(Jon) 的压缩算法。

因为一个编译好的脚本程序必须能做到无需密码(解压)而又能够得以解析并运行。也就是说压缩是双向的(即压缩和解压都是用同一种算法)。正因为如此,您应该把生成的程序纯粹地视为编译文件而不能认为(其中保存的信息)是完全安全的。举个例子来说,如果我(为了桌面展示的目的)写了一个需要含有用户名和密码的脚本,那么我可能会用工作站级别的用户名/密码而不会认为脚本程序已足够安全而使用域或整个网络的密码,除非我非常确定不会有任何终端用户可获取该程序。

AutoIt3中文教程<2.4> AutoIt 窗口信息工具

AutoIt 窗口信息工具

AutoIt v3 附带了一个独立的工具,名为窗口信息工具(AutoIt Window Info Tool )(默认位于Program Files\AutoIt3\AU3Info.exe)。AU3Info 让您可以获取指定窗口的相关信息从而便于更有效地实现自动化操作。窗口的信息主要包括以下这些:

窗口标题(Window titles)

?窗口上的文本文字(Text)(包括可见部分和不可见部分)

?窗口的大小和坐标位置

?状态栏的内容

?鼠标指针的坐标位置

?鼠标指针所指象素的颜色值

?鼠标经过的控件(Control)的相关信息

要使用 AU3Info 首先当然要运行它了(可从命令行启动或在开始菜单找到它)。AU3Info 将保持在所有窗口的最上层以便您总能看到获取的信息内容。激活您感兴趣的窗口则AU3Info即可获取该窗口的相关信息并显示出来。有了AU3Info

的帮助您就能迅速地实现自动化了。

当 AU3Info 运行的时候您可能会想(用 CTRL-C快捷键)把AU3Info窗口上的信息直接复制下来然后粘贴到脚本中以避免拼写错误。但这是很困难的,因为信息内容几乎一直在变(特别是象素信息和鼠标信息)!这时只需按下CTRL-ALT-F 快捷键即可立即暂停AU3Info的信息刷新,此时信息内容不再更新以供复制,要再次更新内容则只需再按一次快捷键就行了。

下面演示了使用 AU3Info 获取 "写字板" 的窗口信息时的情况:

AutoIt3中文教程<2.5> AutoIt 窗口信息工具窗口标题与文本(基础篇)

窗口标题与文本(基础篇)

当我们在编写用以实现自动化操作(通常是指窗口操作)的脚本的时候,经常要解决的一个问题就是如何(在众多窗口中)准确识别出目标窗口,一般来说我们把窗口的标题(title)作为它的ID,有时候只给标题还不够,这时就需要同时给出标题及文本(text)。要获得某个窗口的标题是件很简单的事情(直接就可以看到),可以使用 AutoIt 提供的AutoIt Window Info(窗口信息工具)。大多数窗口的标题都是显而易见的,例如系统自带的记事本程序(notepad.exe),它的标题是无标题 - 记事本,并不难理解对吧?而且一般来说这就已经足以帮助我们完成自动化任务了。

注意:若作为参数传递到窗口函数的窗口标题和窗口文本都是空字符串""的话,则该函数的操作目标将会是当前激活的窗口(但设置了非默认的窗口匹配模式(WinTitleMatchMode)时除外)!

窗口标题及其文本是大小写敏感(或者说是严格区分大小写)的。包括标点符号在内您必须确保它们是完全匹配的。为了避免在这种小问题上出错,您可以使用工具 Window Info 然后选中获得的标题或文本,按下ctrl-c复制之后就可以直接粘贴到脚本中使用了。

AutoIt 的大部分窗口函数都有窗口标题和文本参数,比如说下面的WinWaitActive 函数。这个函数的功能是使脚本暂停执行并一直等到指定窗口出现且激活为止。

WinWaitActive ( "窗口标题", ["窗口文本"], [超时时间] )

其中窗口标题是必须指定的参数,而窗口文本和超时时间都是可选参数。不过也有些函数的窗口文本参数是必须指定的,如果想省略这个参数的话只需指定""(表示空字符串)作为参数即可。在参数窗口文本中指定一个空字符串或者干脆留空的话相当于告诉 AutoIt 任何文本都是有效的(反正只管标题匹配了就OK)。

下面以记事本窗口为例说明上面提到的函数的两种用法:

WinWaitActive("无标题 - 记事本")

以及

WinWaitActive("无标题 - 记事本", "")

如果我们打些字到该窗口上,比如说“这里是足以区分其它记事本窗口的文字”,则在Window Info 的窗口上将会显示相关信息:

我们可以注意到 Window Info 已经“看到” 了这个记事本窗口的标题及文本并显示出来了。记住,凡是 Window Info Tool 能“看到”的 AutoIt 也能“看到”(指能在脚本中使用)。现在我们得到的这些信息已经足以用来准确识别此窗口了(就算此时还打开了很多记事本窗口)。这时我们应该这么使用函数:

WinWaitActive("无标题 - 记事本", "这里是足以区分其它记事本窗口的文字")

窗口文本

作为参数使用的窗口文本必须是符合 AutoIt 的要求。一般来说有效的文本是指编辑框控件内的文本(比如像上面的“这里是足以区分其它记事本窗口的文字”),此外还可以使用下面这些文本:

?按钮上的文本,比如&Yes、&No、&Next、确定(&O) 等(“&”号后的字符将带有下划线)

?对话框上的文本,比如“是否要继续?”

?其它控件上的文本

?其它文本--我也不知道那是什么:)

另外还有一个必须了解的技巧就是除了上面这些文本之外,很多程序窗口的标题会根据操作对象的不同而不同(通常会在默认标题后附加),因此把接在标题后的文本作为窗口文本参数使用也是可以的。

其实我们传递到窗口函数中的窗口文本参数是被 AutoIt 当作子串(substring)来处理的。还是以上面的记事本窗口为例,即使把“区分其它记事”作为窗口文本参数也是可以获得同样效果的。

前面提到的所有应用都是以在默认模式下操作为例的,AutoIt 还提供了其它几种更高级的方法,可能会稍微比这里的难一点 :)

窗口标题与文本(高级篇)

AutoIt 支持四种“窗口匹配”模式。若要更改此模式可通过函数AutoItSetOption修改WinTitleMatchMode属性即可。

模式 1 (默认)

只匹配标题的前面部分。

在此模式下,若一个窗口的标题是无标题 - 记事本则可使用如“无标题 - 记事本”、“无标题” 甚至是“无” 等字符串作为窗口标题参数使用。

例如:

WinWait("无标题")

模式 2

标题的任意子串皆可。

在此模式下,若一个窗口的标题是无标题 - 记事本则可使用如“无标题 - 记事本”、“无标题”、“记事本” 甚至是“本” 等字符串作为窗口标题参数使用。

eg.

WinWait("记事本")

模式 3

完全匹配标题。

在此模式下,若一个窗口的标题是无标题 - 记事本则只可使用“无标题 - 记事本” 作为窗口标题参数使用。

模式 4

高级模式。

在此模式下,一些特殊的字符串可用来代替窗口标题参数,这样我们就可以使用窗口的类别名和句柄来识别窗口了。至于窗口标题参数维持原样即可。

这些特殊的字符串不能含有空白符(whitespace,一般指空格、制表符、回车等)。它们分别是:

"classname=CLASSNAME"

"active"

"last" 或 ""

"classname="只匹配具有相同类别名的窗口。例如要识别一个类别名为“MYCLASS1”的窗口,则可把“classname=MYCLASS1”作为窗口标题参数使用。

"active"表示当前激活的窗口(实际作用与默认的 WinTitleMatchMode 模式下的 "" 一样)。

"last"使用上一次成功匹配的窗口,这样就不必三番四次地指定窗口标题和窗口文本了。例如:

AutoItSetOption("WinTitleMatchMode", 4)

WinWaitActive("无标题 - 记事本")

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

注意:如果"classname=", "active", "last" 或 "" 都没有作为窗口标题出现在该参数中,则自动以模式 1进行匹配。

窗口句柄(Window Handles / HWNDs )

AutoIt 中的变量可用来存储窗口句柄(HWND)。所谓窗口句柄是指 Windows 自动分配给每个新创建的窗口的特殊值。窗口句柄可用来代替窗口标题参数。使用窗口句柄来代替窗口标题的好处是能够更加精确地识别窗口,比如说有时候我们会同时打开同一应用程序的多个副本,这些窗口具有完全相同的窗口标题和窗口文本,这时就可以利用窗口句柄的唯一性来准确识别窗口了。另外,当使用窗口句柄代替窗口标题参数时,窗口文本参数将被完全忽略。

很多函数如WinGetHandle、WinList和GUICreate都会返回窗口句柄。这里要特别提醒大家的是,不能简单的把窗口句柄归类为数值或者字符串,它是使用特殊的数据类型的。

注意:不管当前的 WinTitleMatchMode 被设置为何种模式,窗口句柄始终可用。

示例

$handle = WinGetHandle("无标题 - 记事本", "")

WinClose($handle)

控件(Controls)

AutoIt v3 的其中一个最优秀的新功能就是提供了直接操作某些窗口控件的支持。我们在窗口上能看到的东西大多都是以下控件的一种:按钮、列表框、文本编辑框、静态文本等。比如说系统自带的记事本程序的主窗口也不过只是一个相对而言比较大一点的“编辑框(Edit)”控件罢了!正因为 AutoIt 提供了直接对控件操作的途径,我们再也不需要(也不应该)使用模拟键击等低级的方法来操作窗口了,这使得需要实现窗口操作的脚本更加可靠。

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

运行AutoIt Window Info 之后您可以试着把鼠标移动到自己感兴趣的窗口上,在 Window Info 的窗口就会显示当前鼠标经过的控件的信息。这些信息包括:

?控件ID(Control ID)

?类别名(ClassNameNN)

?文本(Text)

?控件句柄(HWND) (这个不能利用AutoIt Window Info 获得,获得方法请看下文)

如果你看到某个Control...() 函数要求提供控件ID(ControlID)作为参数(实际上大部分控件函数都需要此参数),那么您就可以使用这些信息中的任意一种来作为参数传递到函数中。具体使用哪一种方法其实主要看您的个人喜好以及从 AutoIt Window Info 中能获得的信息类型,一般而言,最好的方法就是使用控件ID(ControlID),但如果控件ID无法获得或者是靠控件ID还不足以保证能识别目标控件(比如说同时有几个控件ID相同的控件存在,这种情况通常发生在静态文本控件上),那么就需要换为另外的三种方法之一了。

控件ID(Control ID)

控件 ID 是指Windows指定给每个控件的数值型标识符(实际上就是整数值)。通常这是用来识别控件的最好的方法。除了 AutoIt Window Info 之外,还有其他的应用程序比如某些给盲人用的读屏软件或者其它使用 Microsoft API 写的工具也能获得控件ID。

类别名(ClassNameNN)

每个标准的 Microsoft 控件都具有“类别名”,比如“button(按钮)”或者“edit(编辑框)”等等。在 AutoIt 中还把它跟该控件的“实例”组合起来,并称为“ClassNameNN”。比如说某个对话框的上面有三个按钮,则通常它们的“ClassNameNN”就是"Button1", "Button2", "Button3"如此之类。

当控件ID不适用的时候就可以考虑使用这个方法(这种情况通常发生在静态文本控件上)。

文本(Text)

也许你也注意到 AU3Info(AutoIt Window Info)还给出了控件上的文本信息,例如某个按钮Next则在 AU3Info 上看到的就是&Next(“&”号表示后面跟着的字符将带有下划线,其实我们还能在菜单和其它控件上发现这个符号)。如果您喜欢的话也可以用这些文本代替“ClassNameNN”来识别控件,但是如果有多个控件的文本都相同的话可就有麻烦了。

控件句柄(Control Handle (HWND) )

如果要获得某个控件的句柄则可使用ControlGetHandle函数。控件句柄是Windows赋予控件的(独一无二的)标识符。每个被创建的控件都具有不同的句柄。用户在使用控件句柄来对控件操作之前应该确定自己对句柄是非常熟悉的。

预期用途

AutoIt 究竟是用来干嘛的?可能很多人会问这样的问题,此文将尝试给您一个解答:此程序(指AutoIt)当初被开发出来的目的是为了让广大用户能拥有一个强大的工具,这个工具应该能有力地支持用户在Windows下实现各种自动化任务(比如自动安装目标程序、完成各种自动化操作等),而且它还要能够提供一个GUI(用户界面)以便获得更好的交互效果,而AutoIt 就是一个这样的工具。当然,AutoIt 决不是万能的,当要完成某些复杂的任务比如那些基于COM的操作时,最好配合某个功能成熟的脚本语言来实现(比如WSH 或Kixtart -都是免费的),而AutoIt 的工作就是要完成这些语言所无法完成的任务。

我个人一般使用AutoIt 来实现PC 桌面展示。我使用WSH(写病毒的流行工具^_^)来完成复杂的脚本/COM部分的工作,并利用它来调用AutoIt (或

AutoItX/AutoItDLL)程序以完成那些一般只能由人手输入才能完成的工作(比如安装软件、配置控制面板、修改驱动器盘符、发送键击和鼠标点击动作等)。

当然,对很多用户来说,AutoIt 已经是(完成各种任务的)流行而且好用的脚本语言(特别是随着v3 版本的出现这更加成为事实),并且大家都乐于使用它:)

- Jon

指南 - HelloWorld

此页将介绍创建并运行AutoIt脚本的一些基本方法。我们假定您已经使用我们提供的安装程序安装好了AutoIt v3。

(注意:如果您已经安装了SciTe编辑器,它将会代替系统自带的记事本来编辑脚本。)

首先打开你要创建脚本的文件夹,点击鼠标右键然后在菜单中选择新建/ AutoIt v3 Script。

把脚本文件命名为helloworld.au3。注意扩展名应为.au3——这说明该文件是AutoIt v3 脚本。

我们已经创建了脚本文件了,现在要做的就是对此脚本进行编辑使其具有我们需要的功能。在helloworld.au3这个脚本文件上点击鼠标右键然后在菜单中选择Edit Script。

接着将会使用记事本程序来打开此脚本,您会看到类似这样的内容:

您看到的代码只不过是方便组织脚本的注释。里面还提示了可供以后使用的“选项”。这些代码的每一行都以分号开头,因此它们将被解释为脚本的注释(也就是会被忽略),这和DOS下的批处理文件中指定由DOS忽略的命令行类似。

好了,现在我们来告诉AutoIt要做的事就是显示一个信息框——可用 MsgBox 函数实现。

在代码底部添加以下内容:

MsgBox(0, "指南", "Hello World!")

所有的函数都带有参数,MsgBox 函数带有三个参数——标识、标题和信息。标识中的号码用以改变信息框的显示风格——我们现在试试用0。标题和信息都是

Revolve产品知识

产品名称BOSE SoundLink Revolve 产地墨西哥颜色灰/银 产品尺寸/重量 152×82×82mm/660g 续航时间 12小时 充电时间4小时 供电方式锂电池 音频接口 3.5mm/ USB接口(只限电脑音源)单元尺寸3英寸 NFC功能是 防水级别IPX4防水 通话功能是 语音提示是 APP 是 保修期一年(注册微信会员赠送延保6个月) 包装清单音箱本机x1 USB电源x1USB连接线 x1 交流电源适配器 x1 技术特点1360度全向发声:一个向下发声的全音域单元配合BOSE专利的声波导向技术,可以向四周发出均匀,无死角的声音 技术特点2独特优势:体积小巧 低音震撼 技术特点3优雅的设计:采用高品质阳极氧化铝金属材质配合全新的无缝连接一体成型工艺,是产品更为高雅,耐用 技术特点4蓝牙无线连接:方便,易用,可连接几乎是所有常规的智能手机,平板电脑的蓝牙设 备,可支持与蓝牙设备10米距离的无线连接。技术特点5内置锂电池:更好的便携性,4小时充满电可在正常音量下约12小时的使用时间。 技术特点6IPX4级防水:可以使您在室外环境中放心使用。技术特点7BOSE Connect APP :轻松实现“派对模式”与“立体声模式”的切换,可以满足您更多声音需求。技术特点8支持有线连接:3.5mm与USB接口可以满足你有线音源的连接,连接更多的设备。 技术特点9可选配充电底座:充电方便,同时为扬声器在家中使用时提供了一个放置的地方。 技术特点10 远程操作:可通过配对的蓝牙设备控制扬声器的各项功能(如音量等)不需要携带其他产品说明

音效表现 Feature令人惊艳的宏亮气势,超乎想象的小巧体积。Benefit体积小巧 低音震撼 Advantage 精巧的外壳下装载了众多技术,展现出扬声器超乎想象的的低音效能,让人深深的沉醉在饱满的动人音色中。 Evidence X先生经常会带着家中的小朋友到户外和同事们野餐,因为有小孩子每次外出都需要随身带很多东西。聚会时大家喜欢拿出手机播放孩子们喜欢的音乐增加气氛,偶尔路过门店体验到我们的产品,十分满意。不仅可以满足了他外出携带需要,还提供了完美的音质 360°音效 Feature 可以向四周发出均匀的,无死角的声音。实现零死角的环绕音效。 Benefit随意摆放,一样可以体验到全方位的声音。 Advantage 一个向下发声的全音域单元配合BOSE专利的声波导向器,营造出全方位,无死角的震撼 Evidence X女士三口之家,每天晚上喜欢在客厅给孩子放放音乐,孩子太小总是跑来跑去,之前的音响固定的放在一个位置声音太大影响邻居,声音太小孩子跑来跑去还听不见。选择了我们产品后放在家里中间的位置不管孩子 精致设计 Feature 一体成型的采用高品质阳极氧化铝金属材质配合全新的无缝连接一体成型工艺。 Benefit使产品更为高雅,耐用。 Advantage 精密的设计,一体成型的阳极氧化铝材质,可以提供全方位的音效,不留一丝缝隙,外 Evidence X小姐喜欢游泳,喜欢做SPA ,喜欢泡温泉,更喜欢听音乐。自从购买了产品,她可以随意带着音响到她喜欢的地方,再也没有任何的顾虑。无论什么环境,我们的产品都可以

python-ctypes模块中文帮助文档

内容: .加载动态链接库 .从已加载的dll中引用函数 .调用函数1 .基本的数据类型 .调用函数2 .用自己的数据类型调用函数 .确认需要的参数类型(函数原型) .返回值 .传递指针 .结构和联合 .结构或联合的对齐方式和字节的顺序 .结构和联合中的位 .数组 .指针 .类型转换 .未完成的类型 .回调函数 .访问dlls导出的值 .可变长度的数据类型 .bugs 将要做的和没有做的事情 注意:本文中的代码例子使用doctest确保他们能够实际工作。一些代码例子在linux和windows以及苹果机上执行有一定的差别 注意:一些代码引用了ctypes的c_int类型。它是c_long在32位机子上的别名,你不应该变得迷惑,如果你期望 的是c_int类型,实事上打印的是c_long,它们实事上是相同的类型。 加载动态链接库 ctypes加载动态链接库,导出cdll和在windows上同样也导出windll和oledll对象。 加载动态链接库后,你可以像使用对象的属性一样使用它们。cdll加载使用标准的cdecl调用约定的链接库, 而windll库使用stdcall调用约定,oledll也使用stdcall调用约定,同时确保函数返回一个windows HRESULT错误代码。这错误 代码自动的升为WindowsError Python exceptions,当这些函数调用失败时。 这有一些windows例子,msvcrt是微软的c标准库,包含大部分的标准c函数,同时使用cdecl调用约定。 注:cdecl和stdcall的区别请见https://www.wendangku.net/doc/ef8329625.html,/log-20.html >>> from ctypes import * >>> print windll.kernel32 # doctest: +WINDOWS

CAD和TSSD快捷键(含探索者中文键名)

AutoCAD 简化命令 3A, *3DARRAY 3DO, *3DORBIT 3F, *3DFACE 3P, *3DPOLY A, *ARRAY ,阵列ADC, *ADCENTER AD, *ID AE, *AREA AL, *ALIGN AP, *APERTURE ATP, *ATTDISP AT, *DDATTE -AT, *ATTEDIT ATT, *DDATTDEF -ATT, *ATTDEF AV, *DSVIEWER B, *BREAK H, *BHATCH BL, *BMAKE -BL, *BLOCK BO, *BOUNDARY -BO, *-BOUNDARY CO, *COPY CC, *CHAMFER CH, *DDCHPROP -CH, *CHANGE DDC, *DDCOLOR C, *CIRCLE D, *DIM DD, *DDEDIT DDV, *DDVPOINT DI, *DIST DIV, *DIVIDE DO, *DONUT DST, *DIMSTYLE DT, *DTEXT DV, *DVIEW DX, *DDIM DXI, *DXFIN DXO, *DXFOUT E, *ERASE EL, *ELEV ELL, *ELLIPSE EN, *END EP, *EXPLODE EX, *EXTEND F, *FILLET FF, *FILL FI, *FILTER G, *GROUP GR, *DDGRIPS -GR, *GRID HI, *HIDE HE, *HATCHEDIT HT, *HATCH I, *DDINSERT -I, *INSERT IM, *IMAGE -IM, *-IMAGE L, *LINE LA, *LAYER -LA, *-LAYER LE, *LEADER LEN, *LENGTHEN LI, *LIST LS, *LTSCALE LT, *LINETYPE -LT, *-LINETYPE LTS, *LTSCALE M, *MOVE MA, *MATCHPROP ME, *MEASURE MI, *MIRROR ML, *MLINE MO, *DDMODIFY MN, *MENU MS, *MSPACE MT, *MTEXT -MT, *-MTEXT MV, *MVIEW N, *NEW O, *OFFSET OP, *OPEN OS, *OSNAP

python-os模块中文帮助文档

注此模块中关于unix中的函数大部分都被略过,翻译主要针对WINDOWS,翻译速度很快,其中很多不足之处请多多包涵。 这个模块提供了一个轻便的方法使用要依赖操作系统的功能。如何你只是想读或写文件,请使用open() ,如果你想操作文件路径,请使用os.path模块,如果你想在命令行中,读入所有文件的所有行,请使用 fileinput模块。使用tempfile模块创建临时文件和文件夹,更高级的文件和文件夹处理,请使用shutil模块。 os.error 内建OSError exception的别名。 https://www.wendangku.net/doc/ef8329625.html, 导入依赖操作系统模块的名字。下面是目前被注册的名字:'posix', 'nt', 'mac', 'os2', 'ce', 'java', 'riscos'. 下面的function和data项是和当前的进程和用户有关 os.environ 一个mapping对象表示环境。例如,environ['HOME'] ,表示的你自己home文件夹的路径(某些平台支持,windows不支持) ,它与C中的getenv("HOME")一致。 这个mapping对象在os模块第一次导入时被创建,一般在python启动时,作为site.py处理过程的一部分。在这一次之后改变environment不 影响os.environ,除非直接修改os.environ. 注:putenv()不会直接改变os.environ,所以最好是修改os.environ 注:在一些平台上,包括FreeBSD和Mac OS X,修改environ会导致内存泄露。参考putenv()的系统文档。 如果没有提供putenv(),mapping的修改版本传递给合适的创建过程函数,将导致子过程使用一个修改的environment。 如果这个平台支持unsetenv()函数,你可以删除mapping中的项目。当从os.environ使用pop()或clear()删除一个项目时,unsetenv()会自动被调用(版本2.6)。 os.chdir(path) os.fchdir(fd) os.getcwd() 这些函数在Files和Directories中。

【资料】Airpak中文帮助文档(1.7部分)

Airpak中文帮助文档(1.7部分) 此文翻译来自Airpak帮助文档1.7部分 通过1.7部分,你将使用Airpak 建立一个问题、解决一个问题以及输出结果。这是 对Airpak 特点的基础介绍。 如有疑问可参考Airpak帮助文档的相关部分

1.7 示例 在下面的示例中,你将使用Airpak建立一个问题、解决一个问题以及输出结果。这是对Airpak特点的基础介绍。使用指南中的例子将提供更完整的程序特点。 1.7.1 问题描述 图1.7.1显示的所要解决的问题。房间中包含了一个开放的进风口、一个排气口和一个恒定温度的墙。房间的长是4.57 m,宽是 2.74 m,高是2.74m。房间外测量值是0.92 m ×0.46 m,同时引入一个冷空气射入房间使得空气流动。排气口的尺寸是0.91 m×0.45 m。惯性的力量、浮力的力量以及湍流混合的相互作用对所提供的空气的渗透及路径有着重要的影响。 1.7.2 主要的过程 图1.7.1显示的问题是一个稳定通风的情形。边界温度以及速度是被定义的。示例中的步骤简要如下: z打开和定义一项工作 z调整默认房间大小 z对于一个房间生成一个进风口(opening)、排气口(vent)以及墙 z生成网格 z计算

z检查结果 1.7.3 开始一个新工作 启动Airpak(1.5节)。图1.7.2.显示的是【Open job】面板。 在【Select the job to open】文本显示框中路径的最后将/sample写上。点击【Accept】打开一个新工作。Airpak将生成一个10 m×3 m×10 m默认房间,同时在图形窗口显示房间。 你可以使用鼠标左键围绕一个中心点旋转房间,或者使用鼠标中间键你可以将房间转移到屏幕的任意一点上。使用右键放大或缩小房间。为了将房间回复的默认方位,点击【Options】菜单下【Orient】,在下拉菜单中选择【Home】。 1.7.4 定义工作 通过定义房间的种类和设置环境温度来开始工作。这些参数在【Problem setup】面板中具体指明了。在【File】菜单中选择【Problem】可以打开【Problem setup】面板(如图1.7.3)。

pyevolve中文帮助文档

Pyevolve的用户手册中文版 1.1.6基本概念 Raw score:表示由适应度函数返回的还未进行比例换算的适应值。 Fitness score :对Raw score进行比例换算后的适应值,如果你使用线性的比例换算(Scaling.LinearScaling()),fitness score将会使用线性方法进行换算,fitness score代表个体与种群的相关程度。 Sample genome : 是所有genome进行复制的基础 1.2.3对pyevolve进行扩展 对pyevolve进行扩展首先要查看GenomeBase.GenomeBase类的源码。 扩展的基本步骤 1)创建染色体类 2)创建染色体的初始化函数 3)创建遗传算子:选择算子,交叉算子,和变异算子等。 1.3模块 1.3.2基本模块 a) Consts :常量模块 Pyevolve 提供了所有的默认遗传算子,这是为了帮助用户方便的使用API,在常量模块中,你可以找到这些默认的设置,最好的情况是查看常量模块,但是不改变常量模块中的内容。 b)Util :公用模块 公用模块中提供了一些公用的函数,比如列表项的交换,随机功能等。 list2DSwapElement(lst, indexa, indexb):交换矩阵中的元素项。 listSwapElement(lst, indexa, indexb):交换列表中的元素项。 c)FunctionSlot :函数分片模块 Pyevolve中广泛使用函数分片的概念;这个想法是很简单的,每个遗传操作或者说是任何遗传操作能够被分配到一个片,按照这种想法,我们能够添加不止一种的遗传操作,比如说同时进行两种或者更多的变异操作,或者两种或更多的计算操作等,函数分片模块是以FunctionSlot.FunctionSlot类来实现的。 例子: Def fit_fun(genome): …. Def fit_fun2(genome): …. Genome.evaluator.set(fit_fun) Genome.evaluator.add(fit_fun2) Print Genome.evaluator #the result is “slot [evaluator] (count:2)” Print Genome.evaluator[0] # the result is “function fit_fun at <....>” Print Genome.evaluator[1] # the result is “function fit_fun2 at <...>”

相关文档