zoukankan      html  css  js  c++  java
  • C# 模拟键盘操作SendKey(),SendKeys()

    模拟键盘输入就是使用以下2个语法实现的.

    SendKeys.Send(string keys);  //模拟汉字(文本)输入
    SendKeys.SendWait(string keys); //模拟按键输入

    先了解一下2个语法的用法吧! 稍后贴出代码看看大家能不能看懂哦/...

    (1)每个按键由一个或多个字符表示。为了指定单一键盘字符,必须按字符本身的键。例如,为了表示字母 A,可以用 "A" 作为 string。为了表示多个字符,就必须在字符后面直接加上另一个字符。例如,要表示 A、B 及 C,可用 "ABC" 作为 string。
     

    (2)对 SendKeys 来说,加号 (+)、插入符 (^)、百分比符号 (%)、上划线 (~) 及圆括号 ( ) 都具有特殊意义。为了指定上述任何一个字符,要将它放在大括号 ({}) 当中。例如,要指定正号,可用 {+} 表示。方括号 ([ ]) 对 SendKeys 来说并不具有特殊意义,但必须将它们放在大括号中。在其它应用程序中,方括号有特殊意义,在出现动态数据交换 (DDE) 的时候,它可能具有重要意义。为了指定大括号字符,请使用 {}。
     

    (3)为了在按下按键时指定那些不显示的字符,例如 ENTER 或 TAB 以及那些表示动作而非字符的按键,请使用下列代码:

    按键 代码
    BACKSPACE {BACKSPACE}, {BS}, 或 {BKSP}
    BREAK {BREAK}
    CAPS LOCK {CAPSLOCK}
    DEL or DELETE {DELETE} 或 {DEL}
    DOWN ARROW {DOWN}
    END {END}
    ENTER {ENTER}或 ~
    ESC {ESC}
    HELP {HELP}
    HOME {HOME}
    INS or INSERT {INSERT} 或 {INS}
    LEFT ARROW {LEFT}
    NUM LOCK {NUMLOCK}
    PAGE DOWN {PGDN}
    PAGE UP {PGUP}
    PRINT SCREEN {PRTSC}
    RIGHT ARROW {RIGHT}
    SCROLL LOCK {SCROLLLOCK}
    TAB {TAB}
    UP ARROW {UP}
    F1 {F1}
    F2 {F2}
    F3 {F3}
    F4 {F4}
    F5 {F5}
    F6 {F6}
    F7 {F7}
    F8 {F8}
    F9 {F9}
    F10 {F10}
    F11 {F1}
    F12 {F12}
    F13 {F13}
    F14 {F14}
    F15 {F15}
    F16 {F16}

    (4)SHIFT、CTRL 及 ALT 等按键结合的组合键,可在这些按键码的前面放置一个或多个代码,这些代码列举如下:

    按键 代码
    Shift +
    Ctrl ^
    Alt %

    (5)输入汉字用SendKeys.Send("汉字");

    /*-以下是案例代码--*/

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
     
    namespace ApplicationForm
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                //光标移至richTextBox1
                richTextBox1.Focus();
     
                //模拟按下"ABCDEFG"
                SendKeys.SendWait("(ABCDEFG)");
                SendKeys.SendWait("{left 5}");
                SendKeys.SendWait("{h 10}");
     
                /*
                更多举例:
                SendKeys.SendWait("^C");  //Ctrl+C 组合键
                SendKeys.SendWait("+C");  //Shift+C 组合键
                SendKeys.SendWait("%C");  //Alt+C 组合键
                SendKeys.SendWait("+(AX)");  //Shift+A+X 组合键
                SendKeys.SendWait("+AX");  //Shift+A 组合键,之后按X键
                SendKeys.SendWait("{left 5}");  //按←键 5次
                SendKeys.SendWait("{h 10}");   //按h键 10次
                SendKeys.Send("汉字");  //模拟输入"汉字"2个字
                */
            }
        }
    }
    转载自:http://www.lxway.com/9685651.htm
  • 相关阅读:
    Linux Core Dump
    ODP.NET Managed正式推出
    获取EditText的光标位置
    (Java实现) 洛谷 P1603 斯诺登的密码
    (Java实现) 洛谷 P1603 斯诺登的密码
    (Java实现) 洛谷 P1036 选数
    (Java实现) 洛谷 P1036 选数
    (Java实现) 洛谷 P1012 拼数
    (Java实现) 洛谷 P1012 拼数
    (Java实现) 洛谷 P1028 数的计算
  • 原文地址:https://www.cnblogs.com/gisoracle/p/7069400.html
Copyright © 2011-2022 走看看