標籤:
類比鍵盤輸入就是使用以下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個字
*/
}
}
}
C# 類比鍵盤操作--SendKey(),SendKeys()