`
nything
  • 浏览: 146256 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

AutoIt Windows的自动化脚本

    博客分类:
  • OTS
阅读更多
问题: 现在有windows2003上的一个专用软件X,要求软件开机运行,打开UI界面,界面会弹出窗口要求输入用户和密码登陆,要求能自动输入这些信息登陆进去.
 
1,解决开机自动运行的问题:
建了一个系统账号admin,设置为开机自动登陆(方法见注1)
然后把X程序的快捷方式放到admin的启动菜单下,这样系统启动之后会自动登陆这个账号,然后打开程序了
 
2,X程序自动登陆的问题:
由于X程序没有自动登录某个用户的设置,所以这个问题称为解决问题的关键:
实际上是要模拟键盘输入用户名密码,然后点"登录"按钮,这要自动完成.即为此文的关键
 
在linux上,可以使用shell等脚本语言对命令行的程序进行自动化控制.在windows上一般用批处理来进行自动化的操作.但是如何能够对GUI程序进行自动化控制,这方面的信息还比较少.问了几个高手之后,转转大哥(http://coolerfeng.blog.51cto.com)给我推荐了AutoIt这个脚本工具.
 
它的官网是这么介绍它的:
AutoIt v3 is a freeware BASIC-like .ing language designed for automating the Windows GUI and general .ing. It uses a combination of simulated keystrokes, mouse movement and window/control manipulation in order to automate tasks in a way not possible or reliable with other languages (e.g. VB. and SendKeys).
译:AutoIt是一个免费软件,是一个与BASIC类似的脚本语言,主要用于自动化windows的GUI程序和一些常规的脚本.它包括模拟敲某个键,鼠标操作,对窗口和控件的操作,达到自动化的目的,而用其他的语言或许不可能或者难办到.
看来确实是我想要的东西,对GUI程序进行直接的控制,以实现自动化的目的!!!令人兴奋的字眼~
 
下载安装都很简单,只是提醒一点,安装过程中有一步是要选择默认打开脚本文件时是运行还是编辑,对于系统管理员的习惯,当然是选编辑.
然后就是看帮助文档了,此处略过不谈,由于本人任务需要,所以只挑能解决问题的部分看了.下面来说说具体过程.
 
为了本地调试方便,我以本机上的QQ程序(我的是极速qq2008版)来模拟X程序,实现QQ的自动输入账号密码登陆.假设账号是12345,密码是abcde
打开程序的编辑器,这个编辑器非常不错,具有一般集成开发工具的大部分功能.例如函数自动补完,函数用法提示,自动缩进,代码块收缩,不同颜色代码等
 
我的代码如下(分号表示注释)
; 运行qq程序
Run("C:\Program Files\Tencent\QQ\FinePlus.exe")
; 沉睡sleep(毫秒),这是为了等用户登录的对话框出现
Sleep(5000)
; 等待QQ用户登录的对话框
WinWait("QQ用户登录")
; 在"密码"框中输入密码
ControlSend("QQ用户登录", "", "[CLASS:Edit; INSTANCE:12]", "abcde")
; 在"用户"框中输入qq号
ControlSetText("QQ用户登录", "", "[CLASS:Edit; INSTANCE:1]", "12345")
; 点击"登录"按钮
ControlClick("QQ用户登录", "", "[CLASS:Button; INSTANCE:11]")
 
完成后保存文件,默认的扩展名是au3
 
对于函数我当然不能一个个的解释用法,看帮助文件就行了.我只拿一个举例
ControlSend("QQ用户登录", "", "[CLASS:Edit; INSTANCE:12]", "abcde")
参数"QQ用户登录"是窗口(window)的ID
参数"[CLASS:Edit; INSTANCE:12]"是控件(control)的ID,具体到这里就是qq的那个密码输入框
参数"abcde",就是我要输入的内容
实现的功能看函数名controlsend就知道,就是向某个控件(control)发送(send)某个指令,也就实现了敲密码的效果
具体到window和control是什么意义?那就要好好看看文档了,或许还需要看一些window内幕的基础知识.
而"QQ用户登录","[CLASS:Edit; INSTANCE:12]"这样的窗口和控件信息是从哪里得到的呢?见注2
 
然后就可以调试运行了
点菜单上的"Tools" -- "Go"
程序就会运行,运行时,右下角的任务栏会出现一个小图标,运行结束后就消失了.如果程序出了问题卡在那了,就会图标就会一直出现,表示程序没执行完.这个时候可以点"Tools" -- "Stop excuting"来退出.
完全没问题之后就可以编译成exe文件了.点"Tools" -- "Compile",会在源码所在的目录下生成同名的.exe文件.
你双击这个exe就可以看到自动打开qq,自动输入密码用户名,自动点登陆按钮登录的效果了
 
而实际应用到X程序上的时候,发现了一些小问题,当然还是解决了.这里就只说解决要点,有时候你指定对某个ID的控件进行操作,或许并不会应用到相应的控件上去,这或许跟以下几个方面的因素有关:
1. 由于程序是别人开发的,或许使用了非标准的控件或者修改了这个控件响应的方法,所以对我们autoit的标准函数不起作用.
2. 当前焦点(Focus)在哪个控件上,例如我的X程序我指定某个控件的时候,输入的内容都到一个控件里面去了,这个怎么办?使用TAB键将焦点移到指定的控件上,很简单的,你打开某个窗口程序,然后按按TAB按钮,你就懂了.至于focus的问题,也是与windows的基本原理相关.
分享到:
评论

相关推荐

    AutoIT自动化脚本工具与脚本录制

    AutoIT是一种强大的自动化脚本语言,专为简化Windows操作系统中的任务自动化而设计。它以其简单易学的语法和丰富的功能,使得用户无需深入编程知识也能实现各种自动化操作。标题中的"自动化脚本工具"和"脚本录制"是...

    AutoIt自动化脚本技术在在线考试系统的应用.rar

    以下是对AutoIt自动化脚本技术在在线考试系统中应用的详细解释: 一、考试系统自动化流程 1. 用户登录:AutoIt可以编写脚本来模拟用户输入,自动填写用户名和密码,实现快速登录功能,避免人工操作时的错误。 2. ...

    selenium&autoIt实现图片上传的自动化

    AutoIt是Windows自动化工具,可以用来自动化Windows应用程序的操作。它可以模拟用户交互,例如点击按钮、输入文本、选择文件等。AutoIt提供了一个简单易用的脚本语言,可以快速编写自动化脚本。 在本文中,我们将...

    autoit自动化测试小工具及帮助(二)

    这些基本功能为创建自动化脚本提供了基础。 "帮助"部分通常会详细解释AutoIt的各种命令、函数和语法,包括它们的参数、返回值以及使用场景。例如,你可能会在帮助文档中找到关于`Opt`函数的信息,它是用来设置全局...

    autoit自己写的脚本,关于即时聊天工具的

    AutoIt是一种轻量级、强大的编程语言,专为自动化任务设计,尤其在Windows操作系统环境下表现出色。这个压缩包文件包含了两个与即时聊天工具相关的AutoIt脚本:一个名为"局域网聊天器.rar",另一个是"带管理员的...

    利用AUTOIT制作极点五笔自动安装脚本

    AUTOIT 自动化安装脚本制作指南 AUTOIT 是一款功能强大且实用的自动化控制软件,可以模拟键盘按键动作、鼠标移动、鼠标按键和 WINDOWS 窗口操作等,以实现自动化任务。通过编写脚本,由 AUTOIT 来运行脚本来实现...

    Autoit增值税发票自动化开具-模拟输入非批量导入-航天百旺通用。

    Autoit增值税发票自动化开具是一种利用Autoit编程语言编写的应用程序,旨在提高财务人员开具增值税发票的效率。Autoit是一款轻量级的自动化工具,能够模拟鼠标和键盘操作,因此非常适合用于这种模拟输入的场景。 在...

    windows自动化工具-AutoIT和中文说明文档.zip

    AutoIT是一种强大的Windows自动化工具,尤其适用于创建脚本和小型应用程序,以实现各种日常任务的自动化。这款软件设计简洁,语法直观,使得即使没有深厚编程背景的用户也能快速上手。AutoIT支持编写脚本来模拟键盘...

    autoit3操作chrom谷歌浏览器

    AutoIt是一种轻量级、高效的自动化脚本语言,主要用于Windows操作系统。在本资源中,重点是使用AutoIt来操作Google Chrome浏览器,这是通过利用WebDriver接口实现的。WebDriver是一种跨平台的自动化测试框架,允许...

    windows自动化插件

    AutoIt v3 是一个类似 BASIC 脚本语言的免费软件, 它设计用于 Windows GUI(图形用户界面) 中进行自动化操作. 利用模拟键盘按键, 鼠标移动和窗口/控件的操作实现自动化任务. 而这是其它语言不可能做到或无可靠方法...

    AutoItWindows的自动化脚本学习总结.pdf

    此外,`.au3`格式的脚本文件使得这些自动化脚本易于存储、管理和分发。 为了实现高效的自动化,AutoIt提供了与Windows GUI元素交互的详细方法。例如,`ControlSend()`函数可以向特定的控件发送文本,而`...

    Chrome_autoit操作chrome_autoit3chrome_autoit_autoitchrome_chrome_源

    AutoIt是一种流行的自动化脚本语言,特别适用于Windows操作系统上的任务自动化。在IT行业中,它常被用来编写简单到复杂的脚本,以实现自动化的任务执行,例如模拟用户交互、文件操作、窗口管理等。在标题和描述中...

    Autoit调试脚本

    AutoIt是一种轻量级的自动化脚本语言,主要用于Windows平台上的GUI测试和自动化任务。它通过模拟用户的键盘和鼠标操作来实现对各种应用程序的控制,非常适合用于编写系统管理脚本、软件安装程序等。 ### AutoIt简介...

    AutoIt工具及jar包

    AutoIt是一种轻量级、强大的脚本语言,主要用于自动化Windows桌面应用程序的任务。它以其简单易学的语法和广泛的功能在IT行业中受到了很多欢迎,尤其在系统管理员和测试工程师中广泛应用。AutoIt的主要特点包括模拟...

    自动化测试小工具autoit及帮助(1)

    AutoIt是一种轻量级且功能强大的自动化脚本语言,专为简化Windows桌面应用程序的自动化而设计。它在IT行业,尤其是软件测试领域,广泛用于执行重复性的任务,实现自动化测试,提升工作效率。AutoIt具有易学易用的...

    autoit3入门指南

    AutoIt是一种自动化脚本语言,主要用于Windows平台上的GUI测试和自动化任务。它通过模拟键盘和鼠标操作来控制应用程序,使得复杂的任务变得简单易行。《AutoIt3入门指南》是一份详尽的教程,旨在帮助初学者快速掌握...

    软件自动安装Autoit学习

    2. **函数使用**:熟悉常用的AutoIt函数,如WinWaitActive、Send、ControlClick等,它们是编写自动化脚本的基础。 3. **对象和窗口控制**:学习如何识别和操作窗口及其控件,这对于模拟用户操作至关重要。 4. **错误...

    AutoIt v3 脚本程序

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

    AUTOIT_3.3.9.0-1软件工具

    AUTOIT是一种自动化脚本语言,主要用于Windows操作系统,用于编写自动化任务脚本,如模拟键盘和鼠标操作、控制窗口以及处理系统事件。 描述中的"AUTOIT_3.3.9.0-1 au3.开发工具"进一步强调了这个版本是用于开发的,...

    AUTOIT 写的自动安装驱动源代码

    - AUTOIT 是一个免费的 Windows 自动化脚本语言,支持 GUI(图形用户界面)创建、系统控制、文件操作等。 - AUTOIT 脚本可以通过 `Run`, `RunWait`, `ShellExecute` 等函数来启动外部应用程序,如驱动安装程序。 - `...

Global site tag (gtag.js) - Google Analytics