5.1 鼠标管理

a). MouseClick 点击鼠标

MouseClick ( "button" [, x, y [, clicks = 1 [, speed = 10]]] )
示例:MouseClick($MOUSE_CLICK_LEFT)
The button to click: Constants are defined in "AutoItConstants.au3".
$MOUSE_CLICK_LEFT ("left")
$MOUSE_CLICK_RIGHT ("right")
$MOUSE_CLICK_MIDDLE ("middle")
$MOUSE_CLICK_MAIN ("main")
$MOUSE_CLICK_MENU ("menu")
$MOUSE_CLICK_PRIMARY ("primary")
$MOUSE_CLICK_SECONDARY ("secondary") speed 1(fastest)~100(slowest)

b). MouseClickDrag //按下鼠标并拖动

//注:到目的地后会松开,登陆滑块需要使用keydown/keyup
MouseClickDrag ( "button", x1, y1, x2, y2 [, speed = 10] ) 示例:MouseClickDrag($MOUSE_CLICK_LEFT, 0, 200, 600, 700)
button
The button to click: Constants are defined in "AutoItConstants.au3".
$MOUSE_CLICK_RIGHT ("right")
$MOUSE_CLICK_MIDDLE ("middle")
$MOUSE_CLICK_MAIN ("main")
$MOUSE_CLICK_MENU ("menu")
$MOUSE_CLICK_PRIMARY ("primary")
$MOUSE_CLICK_SECONDARY ("secondary")
x1, y1 The x/y coords to start the drag operation from.
x2, y2 The x/y coords to end the drag operation at.
speed 1(fastest)~100(slowest)

c). MouseDown MouseDown ( "button" ) //当前位置按下鼠标

示例:	MouseDown($MOUSE_CLICK_LEFT) ; Set the left mouse button state as down.
Sleep(100)
MouseUp($MOUSE_CLICK_LEFT) ; Set the left mouse button state as up.
The button to click: Constants are defined in "AutoItConstants.au3".
$MOUSE_CLICK_RIGHT ("right")
$MOUSE_CLICK_MIDDLE ("middle")
$MOUSE_CLICK_MAIN ("main")
$MOUSE_CLICK_MENU ("menu")
$MOUSE_CLICK_PRIMARY ("primary")
$MOUSE_CLICK_SECONDARY ("secondary")

d). MouseUp ( "button" ) //松开指定鼠标键

e). MouseGetPos MouseGetPos ( [dimension] ) //当前鼠标位置,返回数组,X/Y坐标

Local $aPos = MouseGetPos()

f). MouseMove MouseMove ( x, y [, speed = 10] ) //移动鼠标

示例:MouseMove(700, 700, 0) ;
speed 1(fastest)~100(slowest)

g). MouseWheel MouseWheel ( "direction" [, clicks = 1] ) //滑动鼠标滚轮

示例:MouseWheel($MOUSE_WHEEL_UP, 10)
The direction to move the wheel: Constants are defined in "AutoItConstants.au3".
$MOUSE_WHEEL_UP ("up")
$MOUSE_WHEEL_DOWN ("down")
clicks [optional] The number of times to move the wheel. Default is 1.

5.2 windows窗口管理

a). WinActivate ( "title" [, "text"] ); //激活指定窗口(焦点)

b). WinActive ( "title" [, "text"] ) //窗口是否存在,且激活状态

c). WinClose ( "title" [, "text"] ) //关闭窗口

d). WinExists ( "title" [, "text"] ) //窗口是否存在

e). WinGetHandle ( "title" [, "text"] ) //获取窗口句柄

f). WinGetProcess ( "title" [, "text"] ) //窗口对应的进程Id

g). WinGetState ( "title" [, "text"] ) //窗口状态

返回值:
Success: a value indicating the state of the window. Multiple values are added together so use BitAND() to examine the part you are interested in:
$WIN_STATE_EXISTS (1) = Window exists
$WIN_STATE_VISIBLE (2) = Window is visible
$WIN_STATE_ENABLED (4) = Window is enabled
$WIN_STATE_ACTIVE (8) = Window is active
$WIN_STATE_MINIMIZED (16) = Window is minimized
$WIN_STATE_MAXIMIZED (32) = Window is maximized
Failure: 0 and sets the @error flag to non-zero if the window is not found.
//示例代码
Local $iState = WinGetState($hWnd)
; Check if the Notepad window is minimized and display the appropriate message box.
If BitAND($iState, 16) Then

h). WinKill ( "title" [, "text"] ) //强制关闭

i). WinList ( ["title" [, "text"]] ) //已打开的窗口列表

j). WinWait ( "title" [, "text" [, timeout = 0]] ) //等待直到指定窗口出现

	返回值:
The array returned is two-dimensional and is made up as follows:
$aArray[0][0] = Number of windows returned
$aArray[1][0] = 1st window title
$aArray[1][1] = 1st window handle (HWND)
$aArray[2][0] = 2nd window title
$aArray[2][1] = 2nd window handle (HWND)
//示例-展示所有窗口
#include <MsgBoxConstants.au3>
Example()
Func Example()
; Retrieve a list of window handles.
Local $aList = WinList() ; Loop through the array displaying only visable windows with a title.
For $i = 1 To $aList[0][0]
If $aList[$i][0] <> "" And BitAND(WinGetState($aList[$i][1]), 2) Then
MsgBox($MB_SYSTEMMODAL, "", "Title: " & $aList[$i][0] & @CRLF & "Handle: " & $aList[$i][1])
EndIf
Next
EndFunc

k). WinWaitActive ( "title" [, "text" [, timeout = 0]] ) //等待直到指定窗口激活

l). WinWaitClose ( "title" [, "text" [, timeout = 0]] ) //等待直到指定窗口不存在

m). WinWaitNotActive ( "title" [, "text" [, timeout = 0]] ) //等待直到指定窗口非激活状态

n). WinSetState ( "title", "text", flag ) //设置窗口状态,显示,隐藏,最大化,最小化等

示例代码: WinSetState($hWnd, "", @SW_HIDE)
The "show" flag of the executed program:
@SW_HIDE = Hide window
@SW_SHOW = Shows a previously hidden window
@SW_MINIMIZE = Minimize window
@SW_MAXIMIZE = Maximize window
@SW_RESTORE = Undoes a window minimization or maximization
@SW_DISABLE = Disables the window
@SW_ENABLE = Enables the window

5 - 参考函数-API的更多相关文章

  1. 065 updateStateByKey的函数API

    一:使用场景 1.应用场景 数据的累加 一段时间内的数据的累加 2.说明 每个批次都输出自己批次的数据, 这个时候,可以使用这个API,使得他们之间产生联系. 3.说明2 在累加器的时候,起到的效果和 ...

  2. HTML5 Audio标签方法和函数API介绍

    问说网 > 文章教程 > 网页制作 > HTML5 Audio标签方法和函数API介绍 Audio APIHTML5HTML5 Audio预加载 HTML5 Audio标签方法和函数 ...

  3. MySQL Crash Course #05# Chapter 9. 10. 11. 12 正则.函数. API

    索引 正则表达式:MySQL only supports a small subset of what is supported in most regular expression implemen ...

  4. Unix/Linux系统时间函数API

    首先说明关于几个时间的概念: 世界时:起初,国际上的标准时间是格林尼治标准时间,以太阳横穿本初子午线的时刻为标准时间正午12点.它根据天文环境来定义,就像古代人们根据日晷来计时一样,如下图: 原子时: ...

  5. Atitit.跨平台预定义函数 魔术方法 魔术函数 钩子函数 api兼容性草案 v2 q216  java c# php js.docx

    Atitit.跨平台预定义函数 魔术方法 魔术函数 钩子函数 api兼容性草案 v2 q216  java c# php js.docx 1.1. 预定义函数 魔术方法 魔术函数是什么1 1.2. & ...

  6. kotlin函数api

    原 Kotlin学习(4)Lambda 2017年09月26日 21:00:03 gwt0425 阅读数:551   记住Lambda的本质,还是一个对象.和JS,Python等不同的是,Kotlin ...

  7. 一个简单可参考的API网关架构设计

    网关一词较早出现在网络设备里面,比如两个相互独立的局域网段之间通过路由器或者桥接设备进行通信, 这中间的路由或者桥接设备我们称之为网关. 相应的 API 网关将各系统对外暴露的服务聚合起来,所有要调用 ...

  8. jQuery函数API,各版本新特性汇总

    jQuery API 速查表 选择器 基本 #id element .class * selector1,selector2,selectorN 层级 ancestor descendant pare ...

  9. Azure 静态 web 应用集成 Azure 函数 API

    前几次我们演示了如果通过Azure静态web应用功能发布vue跟blazor的项目.但是一个真正的web应用,总是免不了需要后台api服务为前端提供数据或者处理数据的能力.同样前面我们也介绍了Azur ...

随机推荐

  1. 【转】 Pro Android学习笔记(四十):Fragment(5):适应不同屏幕或排版

    目录(?)[-] 设置横排和竖排的不同排版风格 改写代码 对于fragment,经常涉及不同屏幕尺寸和不同的排版风格.我们在基础小例子上做一下改动,在横排的时候,仍是现实左右两个fragment,在竖 ...

  2. Android源码中添加APP

    参考罗升阳<Android系统源代码情景分析> 在Android源码中,我们通常把实验性质的Android APP放在packages/experimental目录下.对于一个简单的应用程 ...

  3. 安装Ruby On Rails时运行“gem install rails”没有反应怎么办?

    这两天在我的mac机上安装Ruby On Rails,感觉很爽,似乎在使用一个Windows和Linux的结合体,要界面有界面,要命令行有命令行. 不过安装Ruby On Rails的过程中遇到一个问 ...

  4. 关于startservice的几个启动返回值的意义

    START_NOT_STICKY 如果服务进程在它启动后(从onStartCommand()返回后)被kill掉, 并且没有新启动的intent传给他, 那么将服务移出启动状态并且不重新生成, 直到再 ...

  5. JDBC操作MySQL(crud)

    这两天复习了一下JDBC操作MySQL,把crud操作的例子记一下, 类库链接(mysql-connector-java-5.1.37-bin.jar):http://files.cnblogs.co ...

  6. Spring IOP 没用

    Spring提供了很多轻量级应用开发实践的工具集合,这些工具集以接口.抽象类.或工具类的形式存在于Spring中.通过使用这些工具集,可以实现应用程序与各种开源技术及框架间的友好整合.比如有关jdbc ...

  7. 24、sam- 详解

    http://note.youdao.com/share/?id=312fa04209cb87f7674de9a9544f329a&type=note#/ https://davetang.o ...

  8. Umbraco Examine Search (Lucene.net) french accent

    在项目中使用Umbraco examine search 来search 法语网站时,客户有一个需求,就是 当search  expérience 和 experience 时,需要返回一样的结果. ...

  9. 36.浅谈DLL劫持

    最近在搞内网,需要实现免杀后门,大佬推荐了dll劫持,DLL劫持后,能干很多事情,比如杀软对某些厂商的软件是实行白名单的,你干些敏感操作都是不拦截,不提示的.还有留后门,提权等等.本文主要介绍如何检测 ...

  10. 通过增删改查对比Array,Map,Set,Object的使用成本和实现方式

    1.Array 和 Map 对比 { // array and map 增 查 改 删 let map = new Map(); let arr = []; // 增 map.set('a', 1); ...