Send:

作用:向激活窗口发送模拟键击操作。

语法: send('按键'[,标志])

参数:

按键:要发送的按键序列。

标志:[可选参数] 更改程序处理“按键”的方式:
  标志 = 0 (默认),按键序列中含有的特殊字符比如 + 和 ! 将被视为 SHIFT 和 ALT 键。
  标志 = 1,按键将按原样发送。

注意

关于使用 Send 函数的更多说明/技巧请查看 附录。AutoIt 可发送所有的 ASCII 码及扩展 ASCII 码字符(0-255),若要发送 UNICODE 编码的字符则必须使用“ASC”选项加上您要发送的字符代码(见下面的 {ASC})。

“Send” 命令的语法跟 ScriptIt 以及 Visual Basic 的 “SendKeys” 命令类似。字符序列将按原文发送,但下列字符除外:

'!'
表示告知 AutoIt 要发送一个 ALT 键击动作,因此语句 Send("This is text!a") 的意思是按序发送按键 "This is text" 然后在按下"ALT+a"。

注意,有些程序对大小写字符和 ALT 键相当挑剔,举例来说,"!A" 可能会被认为不同于 "!a";第一个代表 ALT+SHIFT+A,而第二个则代表 ALT+a。如果拿不准的话最好使用小写!

'+'
表示告知 AutoIt 要发送一个 SHIFT 键击动作,因此语句 Send("Hell+o") 的意思是按序发送按键 "HellO"。Send("!+a") 表示发送 "ALT+SHIFT+a"。

'^'
表示告知 AutoIt 要发送一个 CONTROL 键击动作,因此语句 Send("^!a") 的意思是发送按键 "CTRL+ALT+a"。

注意,有些程序对大小写字符和 CTRL 键相当挑剔,举例来说,"^A" 可能会被认为不同于 "^a";第一个代表 CTRL+SHIFT+A,而第二个则代表 CTRL+a. 如果拿不准的话最好使用小写!

'#'
井号将发送一个 Windows 徽标键,因此语句 Send("#r") 将发送 Win+r,这将打开“运行”对话框。

您可以通过设置 SendCapslockMode 从而在 Send 函数开始操作前关闭大小写切换键(大写锁,CAPS LOCK)并在完成操作后恢复。
但是,如果在 Send 函数开始执行的时候用户就按住 Shift 键,那么发送的文本可能会是小写字符。
一个解决办法是在每次执行其它 Send 操作前使用语句 Send("{SHIFTDOWN}{SHIFTUP}")。

如果要发送 ASCII 字符 A 则参考下例(相当于 ALT+065,按住ALT键并在数字键盘上顺序按下065)
    Send("{ASC 065}")

(在使用两位数的 ASCII 码时必须在前面加一个 0,否则将使用 437号代码页)。

如果要发送 UNICODE 字符则输入该字符代码,例如下例将发送一个中文字符
    Send("{ASC 2709}")

可参考下例重复发送某按键:
    Send("{DEL 4}") ;连续4次按下 DEL 键 
    Send("{S 30}") ;发送30个字符“S”
    Send("+{TAB 4}) ;连续4次按下 SHIFT+TAB

如果要按住(保持按下状态)某个按键(通常用于游戏中)
    Send("{a down}") ;按住按键 A 
    Send("{a up}") ;松开按键 A

如果要改变 capslock、numlock 和 scrolllock 键的状态,可参考下例: 
    Send("{NumLock on}") ;打开 NumLock
    Send("{CapsLock off}") ;关闭 CapsLock
    Send("{ScrollLock toggle}") ;切换 ScrollLock 的状态

如果要用变量来指定重复发送的次数,参考下例:
    $n = 4
    Send("+{TAB " & $n & "}")

如果要用变量来指定要重复发送的 ASCII 字符(比如 A),参考下例:
    $x = Chr(65)
    Send("{" & $x & " 4}")

大多数笔记本电脑的键盘上都会有一个特殊的 Fn 键,此键无法被模拟。

注意,若把标志参数的值设为1则“按键”参数将被原样发送。如果某些文本是从变量里拷贝而来,而您又希望完全按原样发送这些文本的话,就应该使用这一设置。

AutoIt 函数学习之----Send函数的更多相关文章

  1. Excel函数学习:HLOOKUP函数

    Excel函数学习:HLOOKUP函数 HLOOKUP函数查找表的第一行中的值,返回该表中与找到的值在同一列的另一个值. 什么情况下使用HLOOKUP? HLOOKUP函数可以在查找行中找到精确匹配值 ...

  2. c++函数学习-关于c++函数的林林总总

    本文是我在学习c++过程中的一些思考和总结,主要是c++中关于函数的林林总总.欢迎大家批评和指正,共同学习. os version: ubuntu 12.04 LTS gcc version: gcc ...

  3. JavaScript函数学习总结(一)---函数定义

    博客原文地址:Claiyre的个人博客 如需转载,请在文章开头注明原文地址 在许多传统的OO语言中,对象可以包含数据,还可拥有方法,也就是属于该对象的函数.但在JavaScript中,函数也被认为是一 ...

  4. Python --函数学习3 (将函数存储在模块中)

    将函数存储在模块 函数可以将代码块和主程序分离,通过给函数指定描述性名称,可以让主程序更加容易理解,还可以更进一步,将函数存储在模块的独立文件中,再将模块导入到主程序.import 语句允许再当前运行 ...

  5. JMeter学习笔记--函数学习(_csvRead 函数)

    JMeter函数可以很方便实现一些小功能,几乎可以用于测试计划中的任何元件.一个函数的调用如下:${_functionName(var1,var2,var3)},_functionName匹配函数名, ...

  6. thinkphp函数学习(3): C函数详解

    function C($name=null, $value=null,$default=null) { static $_config = array(); // 无参数时获取所有 if (empty ...

  7. MySQL函数学习(一)-----字符串函数

    一.MySQL 字符串函数 \ 函 数 名 称 作 用 完 成 1 LENGTH 计算字符串字节长度 勾 2 CONCAT 合并字符串函数,返回结果为连接参数产生的字符串,参数可以是一个或多个 勾 3 ...

  8. JS中的运算符_函数学习

    js中的运算符:     算数运算符:     + - * / % ++ --          逻辑运算符:     & | !  && || < > <= ...

  9. oracle--单行函数和多行函数

    单行函数 1.字符函数 函  数 功  能 示  例 结 果 INITCAP (char) 首字母大写 initcap ('hello') Hello LOWER (char) 转换为小写 lower ...

随机推荐

  1. 如何:控制命名空间前缀 (C#) (LINQ to XML)

    Visual Studio 2010 本主题介绍在序列化 XML 树时如何控制命名空间前缀. 在很多情况下,不需要控制命名空间前缀. 但是,某些 XML 编程工具需要命名空间前缀的特定控制. 例如,您 ...

  2. linux 日志查看总结

    1 grep "ERROR" catalina.log -a 20 -b 10 查看 catalina.log 中error的唯一 一行的后20行 前10行这种情况一般要唯一确定. ...

  3. C语言的ELF文件格式学习

    最近的lab里面有ELF文件相关的,所以成这个几乎,学点ELF的东西. ELF,是一种文件格式.暂时,只看可执行文件的ELF文件格式. 首先,给出文件的格式的布局图: 光看这个很难理解,所以写一个小的 ...

  4. 读写Excle,不用office环境

    1.下载NPOI.dll,并添加引用 2.ExcelHelper帮助类,以下为读写的参照方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ...

  5. js & jq 加载js

    最近做项目中, 经常要写js代码的, 从纯前端人员, 到我们这边的过度, 每个人写的风格都不一样, 大概整理了一下有这么几种 1.1 $(document).ready(function(){}); ...

  6. 1011. A+B和C

    /* * Main.c * 1011. A+B和C * Created on: 2014年8月30日 * Author: Boomkeeper *********测试通过******* */ #inc ...

  7. SQL Server MYSQL 对外键建立索引的必要性

    背景: 大家知道在定义外键时,都会给出on delete .....   on update .....: 这里指定的就是当主表的列发生变化时,从表的列要用怎么样的变化去迎合.对从表中的外键,建立索引 ...

  8. 正则表达式之match与exec【转的 楼兰之风】

    彻底领悟javascript中的exec与match方法 阅读本文之前,请先看下面一道题: 题目17:Read the following javascript code: var someText= ...

  9. docker 私有仓库上传镜像,其他docker服务器从私有镜像下载

    <pre name="code" class="cpp">docker:/data# docker ps CONTAINER ID IMAGE CO ...

  10. hdu 4740

    题目链接 老虎左拐,老鼠右拐,碰到不能走的拐一次,如果还不能走就停下,自己走过的不能走,求相遇的坐标或-1 一个停下之后,另一个还可以走 #include <cstdio> #includ ...