• SendKeys.Send 方法


    以下来自msdn http://msdn.microsoft.com/zh-cn/library/system.windows.forms.sendkeys.send.aspx

    向活动应用程序发送击键。

    public static void Send(
     string keys
    )

    参数

    keys
    类型:System.String 要发送的击键字符串。

    要发送的击键字符串。

    异常条件
    InvalidOperationException

    没有可向其发送击键的活动应用程序。

    ArgumentException

    keys 并不表示有效击键

    每个键都由一个或多个字符表示。要指定单个键盘字符,请使用该字符本身。例如,要表示字母 A,请将字符串“A”传递给方法。要表示多个字符,请将各个附加字符追加到它之前的字符的后面。要表示字母 A、B 和 C,请将参数指定为“ABC”。

    加号 (+)、插入符号 (^)、百分号 (%)、波形符 (~) 以及圆括号 () 对 SendKeys 具有特殊含义。要指定这些字符中的某个字符,请将其放在大括号 ({}) 内。例如,要指定加号,请使用“{+}”。要指定大括号字符,请使用“{{}”和“{}}”。中括号 ([ ]) 对 SendKeys 没有特殊含义,但必须将它们放在大括号内。在其他应用程序中,中括号具有特殊含义,此含义可能会在发生动态数据交换 (DDE) 时起重要作用。

    警告说明警告

    如果应用程序用于键盘各不相同的国际用途,则使用 Send 可能产生不可预知的结果,应避免使用它。

    要指定在按键(如 Enter 或 Tab)时不显示的字符,以及表示操作而不表示字符的键,请使用下表中的代码。

     

    代码

    Backspace

    {BACKSPACE}、{BS} 或 {BKSP}

    Break

    {BREAK}

    Caps Lock

    {CAPSLOCK}

    Del 或 Delete

    {DELETE} 或 {DEL}

    向下键

    {DOWN}

    End

    {END}

    Enter

    {ENTER} 或 ~

    Esc

    {ESC}

    Help

    {HELP}

    Home

    {HOME}

    Ins 或 Insert

    {INSERT} 或 {INS}

    向左键

    {LEFT}

    Num Lock

    {NUMLOCK}

    Page Down

    {PGDN}

    向上翻页

    {PGUP}

    Print Screen

    {PRTSC}(保留供将来使用)

    向右键

    {RIGHT}

    Scroll Lock

    {SCROLLLOCK}

    TAB

    {TAB}

    向上键

    {UP}

    F1

    {F1}

    F2

    {F2}

    F3

    {F3}

    F4

    {F4}

    F5

    {F5}

    F6

    {F6}

    F7

    {F7}

    F8

    {F8}

    F9

    {F9}

    F10

    {F10}

    F11

    {F11}

    F12

    {F12}

    F13

    {F13}

    F14

    {F14}

    F15

    {F15}

    F16

    {F16}

    数字键盘加号

    {ADD}

    数字键盘减号

    {SUBTRACT}

    数字键盘乘号

    {MULTIPLY}

    数字键盘除号

    {DIVIDE}

    要指定与 Shift、Ctrl 和 Alt 键的任意组合一起使用的键,请在这些键代码之前加上以下一段或多段代码。

     

    代码

    Shift

    +

    Ctrl

    ^

    Alt

    %

    要指定在按一些键时应同时按住 Shift、Ctrl 和 Alt 键的任意组合,请将这些键的代码放在括号内。例如,要指定按 E 和 C 时同时按住 Shift 键,请使用“+(EC)”。要指定按 E 时应按住 Shift,之后按 C 时不按住 Shift,请使用“+EC”。

    要指定重复键,请使用格式 {key number}。键和数字之间必须放一空格。例如,{LEFT 42} 表示按向左键 42 次;{h 10} 表示按 H 10 次。

    注意注意

    因为没有可用来激活另一个应用程序的托管方法,所以可以在当前应用程序中使用此类,或使用本机 Windows 方法(如 FindWindowSetForegroundWindow)来强制聚焦到其他应用程序上。

    注意注意

    已针对 .NET Framework 3.0 更新了 SendKeys 类,以便在 Windows Vista 中运行的应用程序中使用该类。Windows Vista 的增强安全性(称为用户帐户控制或 UAC)可以防止以前的实现按预期工作。

    SendKeys 类易出现计时问题,某些开发人员必须解决这些问题。更新的实现仍易出现计时问题,但它略快,可能需要对解决方法进行更改。SendKeys 类尝试先使用以前的实现,如果失败,则使用新实现。因此,在不同的操作系统上,SendKeys 类的行为可能不同。此外,如果 SendKeys 类使用新实现,则将消息发送到另一进程时,SendWait 方法不会等待处理这些消息。

    如果无论操作系统如何应用程序都依赖一致的行为,则通过在 app.config 文件中添加下列应用程序设置,可以强制 SendKeys 类使用新实现。

    <appSettings>

        <add key="SendKeys" value="SendInput"/>

    </appSettings>

    要强制 SendKeys 类使用以前的实现,请改用值 "JournalHook"

  • 相关阅读:
    Android应用程序请求SurfaceFlinger服务创建Surface的过程分析
    和菜鸟一起学linux总线驱动之初识i2c驱动主要结构
    和菜鸟一起学linux之container_of实例
    和菜鸟一起学linux总线驱动之初识spi驱动主要结构
    和菜鸟一起学android4.0.3源码之按键驱动短长按功能
    和菜鸟一起学linux总线驱动之初识i2c总线协议
    程序溢出的基础和原理
    Network Information Detection程序作品+源代码
    Network Information Detection程序作品+源代码
    渗透asp后门源代码
  • 原文地址:https://www.cnblogs.com/zhaoweiqiu/p/sendkey.html
Copyright © 2020-2023  润新知