zoukankan      html  css  js  c++  java
  • AutoIt 函数学习之----Send函数

    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则“按键”参数将被原样发送。如果某些文本是从变量里拷贝而来,而您又希望完全按原样发送这些文本的话,就应该使用这一设置。

  • 相关阅读:
    java 数组转list的两种方式(可新增和删除list元素)
    SpringBoot配置404跳转页面的两种方式
    idea java常量字符串过长解决办法
    Spring-BeanValidation校验@RequestParam参数 (控制器单参数验证)
    【Java】使用@Valid+BindingResult进行controller参数校验
    Spring MVC利用Hibernate Validator实现后端数据校验
    springMvc 整合hibernate-validator(简单配置)
    vue中动态给自定义属性data-xx赋值并读取内容
    Tomcat配置SSL安全证书
    springmvc 接收json对象的两种方式
  • 原文地址:https://www.cnblogs.com/yu2000/p/4413966.html
Copyright © 2011-2022 走看看