標籤:
類比鍵盤輸入就是使用以下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()