zoukankan      html  css  js  c++  java
  • AutoIt自动化编程(3)【转】

    模拟鼠标点击(按钮等)控件 
    既然是模拟用户操作,自然就包括了模拟鼠标点击在内。 
    适用命令/函数:Click/MouseClick/ControlClick 
    其中Click/MouseClick用来模拟用户的物理操作(点击),把鼠标点击事件发送到指定坐标位置(相对当前窗口或绝对位置)上,但这种方法并不能保证100%的准确性,屏幕分辨率、用户干扰和系统环境等都会影响到它们的执行结果,而ControlClick则直接把鼠标点击事件发送到目标窗口的目标控件上,因而更准确,一般我们不考虑使用坐标位置方式的点击,下面仅以ControlClick为例说明: 
    AHK: 
    ControlClick [, 目标控件或坐标位置, 窗口标题, 窗口文本, 鼠标按钮, 点击次数, 选项,排除标题, 排除文本] 
    AU3: 
    ControlClick ( "窗口标题", "窗口文本", 控件ID [, 按钮] [, 点击次数]] ) 
    对AHK而言,“目标控件”参数是指要点击的控件的类别名(ClassNN)或控件文本,另外还可以使用控件句柄(若用的是控件句柄则第一个参数需留空,并在第二个参数中使用ahk_id %控件句柄%)。

    Q:用什么工具来获得目标控件的这些信息呢? 
    A:AHK用户请使用 AutoIt3 Window Spy,AU3用户则请使用AutoIt Window Info,你可以在相应的开始菜单项目里找到它们,或者到安装目录下寻找。

    Q:如何使用这两个工具? 
    A:先打开你要进行操作的目标窗口,然后运行 AutoIt3 Window Spy 或 AutoIt Window Info,接下来就是把鼠标移到目标控件上(比如某个按钮): 
    AutoIt3 Window Spy 使用演示截图:


    AutoIt Window Info 使用演示截图:


    现在我们假设已打开并激活了“系统属性”窗口,而任务是点击它的“确定”按钮,则可用以下几种方法:
    【示例4.1.1】
    AHK:
    ControlClick, 确定, 系统属性
    ControlClick, Button2, 系统属性

    AU3:

    ControlClick("系统属性", "", 1)
    ControlClick("系统属性", "", "Button2")
    ControlClick("系统属性", "", "确定")
    提醒:即使目标窗口或控件是隐藏状态,ControlClick命令还是可以“点击”目标控件,但不能保证成功率。

    2、模拟键盘操作
    键盘也是我们在操作窗口时会用到的工具,比如说在安装软件的时候经典的“一路回车大法”。下面简单介绍一下模拟键盘操作的方法。
    Send
    这个是最直接的方法,就是模拟用户按键行为,直接发送键击命令,用法请参考官方文档,在此不予说明。
    最简单的应用――按回车:
    AHK:

    Run, Control Sysdm.cpl
    WinWait, 系统属性
    Send, {Enter}
    AU3:

    Run("Control Sysdm.cpl")
    WinWait("系统属性")
    Send("{Enter}")

    常见的组合键――Alt+X / Ctrl+N等等,在安装软件的时候经常会有提供一个按钮“下一步(N)”,表示按下Alt+N即可触发等同于点击该按钮的效果,其它的可触类旁通。以打开记事本窗口的“文件”菜单为例:
    AHK:

    Run, Notepad
    WinWait, 无标题 - 记事本
    WinActivate, 无标题 - 记事本
    WinWaitActive, 无标题 - 记事本
    Send, !f
    AU3:

    Run("Notepad")
    WinWait("无标题 - 记事本")
    WinActivate("无标题 - 记事本")
    WinWaitActive("无标题 - 记事本")
    Send("!f")

    详细出处参考:http://www.jb51.net/article/14870_4.htm

  • 相关阅读:
    VB获取对象成员
    VB一键扫雷
    VBS代码
    C# LINQ GroupBy
    C# 元组和值元组
    数据结构笔记
    DoTween使用
    Unity中常用的数据结构总结
    Unity 坐标系转换
    .Net中C# Dictionary 用法
  • 原文地址:https://www.cnblogs.com/abcd19880817/p/7161430.html
Copyright © 2011-2022 走看看