您的位置:首页 > 其它

Autoit3-实现对记事本的简单自动化操作

2009-08-12 10:12 399 查看
此页将介绍自动打开记事本程序、输入指定文字、最后关闭记事本的方法。我们假定您已经掌握了在 HelloWorld 指南中介绍的创建并运行AutoIt脚本的方法。

首先创建一个新的脚本文件,命名为 npad.au3 然后打开它进行编辑(按您自己的习惯使用记事本程序或 SciTe 都可以)。

我们首先需要了解的是记事本程序的可执行文件名,也就是 notepad.exe――您可以在开始菜单中寻找记事本的快捷方式图标,从其属性中可获得这一信息(指文件名)。要运行记事本程序,我们使用AutoIt 的 Run 函数。此函数用以运行可执行文件并继续下一步操作。
在脚本的第一行输入以下代码:
Run("notepad.exe")

运行此脚本――如果一切正常的话则记事本将被打开。
当对应用程序进行自动化操作时AutoIt可检测窗口标题,这样它就能针对该窗口进行操作。很明显,记事本的窗口标题就是 无标题 - 记事本(若OS是英文版则为 无标题 - 记事本)。当应用窗口标题时AutoIt 是区分大小写的,因此您必须确保标题完全一致――最好的方法是使用AutoIt 窗口信息工具来获取窗口标题。此窗口信息工具可在这里找到:开始菜单 \ 所有程序 \ AutoIt v3 \ AutoIt Window Info.
打开窗口信息工具之后再点击记事本的窗口来激活记事本(使其变为活动窗口),此时窗口信息工具将显示记事本窗口的有关信息。我们现在需要获得的是窗口的标题



在AutoIt Info Tool的窗口中选中窗口标题名然后按下CTRL-C以复制名称到剪贴板――这样我们就可以在脚本中直接粘贴标题而不怕打错字了。
运行 了记事本的一个副本之后我们需要等待它的窗口出现并且变成激活窗口才能发送键击动作。使用 WinWaitActive 函数即可实现这一目的。在AutoIt中大多数有关窗口操作的函数都带有窗口标题参数。
在脚本的第二行输入以下代码(按下CTRL-V 或者 编辑 \粘贴 命令来粘贴刚才复制到剪贴板的窗口标题)
WinWaitActive("无标题 - 记事本")

在我们可以确定记事本窗口可见之后,下一步就是要键入一些文字了。使用 Send 函数即可实现这一目的。
在脚本中添加以下这行代码。
Send("This is some text.")

整个脚本应该是这样:
Run("notepad.exe")
WinWaitActive("无标题 - 记事本")
Send("This is some text.")

关闭我们之前打开的记事本程序(每次您运行此脚本都要这么做否则你会发现有许多记事本窗口打开!)。然后运行脚本。
您应该会看到记事本打开了,接着一些文字将如变戏法般出现在记事本的编辑区域!



下一步我们需要关掉记事本,使用 WinClose 函数即可实现这一目的。
WinClose("无标题 - 记事本")

当记事本要关闭时会有一个对话框提示您是否保存文件。使用窗口信息工具获取此对话框的详细信息以便做出回应:)



因此我们需要再添加一行代码等待该对话框变成激活状态(为了和原有的记事本窗口区别开来,我们需要使用窗口文字参数来令函数更加准确):
WinWaitActive("记事本", "文件 无标题 的文字已经改变")

下一步是自动按下ALT-N 来选择 否(N) 这个按钮(窗口中带有下划线的字母通常用以说明可以同时按下ALT键及该字母键作为快捷键进行操作)。在 Send 函数中要发送ALT键可使用 ! 来表示
Send("!n")

最后完整的脚本如下:
Run("notepad.exe")
WinWaitActive("无标题 - 记事本")
Send("This is some text.")
WinClose("无标题 - 记事本")
WinWaitActive("记事本", "文件 无标题 的文字已经改变")
Send("!n")

运行此脚本您就会看到记事本打开,接着文字出现,最后被关闭!现在您应该能够应用在此指南中学到的技术进行其它应用程序的自动化操作了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐