使用 SendKeys 將鍵擊和按鍵組合擊發送到活動應用程式。此類無法執行個體化。若要發送一個鍵擊給某個類並立即繼續程式流,請使用 Send。若要等待鍵擊啟動的任何進程,請使用 SendWait。
每個鍵都由一個或多個字元表示。若要指定單個鍵盤字元,請使用該字元本身。例如,若要表示字母 A,請將字串“A”傳遞給方法。若要表示多個字元,請將各個附加字元追加到它之前的字元的後面。若要表示字母 A、B 和 C,請將參數指定為“ABC”。
加號 (+)、插入符號 (^)、百分比符號 (%)、波浪號 (~) 以及圓括弧 ( ) 對 SendKeys 具有特殊含義。若要指定這些字元中的某個字元,請將其放在大括弧 ({}) 內。例如,若要指定加號,請使用“{+}”。若要指定大括弧字元,請使用“{{}”和“{}}”。中括弧 ([ ]) 對 SendKeys 沒有特殊含義,
但必須將它們放在大括弧內。在其他應用程式中,中括弧具有特殊含義,此含義可能會在發生動態資料交換 (DDE) 時起重要作用。
System.Windows.Forms.SendKeys
以下是 SendKeys 的一些特殊鍵代碼錶。
鍵 |
代碼 |
| BACKSPACE |
{BACKSPACE}、{BS} 或 {BKSP} |
| BREAK |
{BREAK} |
| CAPS LOCK |
{CAPSLOCK} |
| DEL 或 DELETE |
{DELETE} 或 {DEL} |
| DOWN ARROW(下方向鍵) |
{DOWN} |
| END |
{END} |
| ENTER |
{ENTER} 或 ~ |
| ESC |
{ESC} |
| HELP |
{HELP} |
| HOME |
{HOME} |
| INS 或 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 |
{F11} |
| F12 |
{F12} |
| F13 |
{F13} |
| F14 |
{F14} |
| F15 |
{F15} |
| F16 |
{F16} |
| 數字鍵台加號 |
{ADD} |
| 數字鍵台減號 |
{SUBTRACT} |
| 數字鍵台乘號 |
{MULTIPLY} |
| 數字鍵台除號 |
{DIVIDE} |
若要指定與 SHIFT、CTRL 和 ALT 鍵的任意組合一起使用的鍵,請在這些鍵代碼之前加上以下一個或多個代碼:
如果輸入Alt+Tab鍵組合的話,我們可以
SendKeys.Send("%{TAB}");
為了說明在按下其它按鍵時應同步選取 SHIFT、CTRL、及 ALT 的任意按鍵組合,請把那些按鍵的碼放在括弧當中。例如,為了說明按下 E 與 C 的時候同步選取 SHIFT 鍵,請使用 “+(EC)”。為了說明在按下 E 的時候同步選取 SHIFT 鍵,但接著按 C 而不按 SHIFT,則使用 “+EC”。
為了指定重複鍵,使用 {key number} 的形式。必須在 key 與 number 之間放置一個空格。例如,{LEFT 42} 意指 42 次按下 LEFT ARROW 鍵;{h 10} 則是指 10 次按下 H 鍵。
注意 不能用 SendKeys 將按鍵訊息發送到這樣一個應用程式,這個應用程式並沒有被設計成在 Microsoft Windows 中運行。Sendkeys 也無法將 PRINT SCREEN 按鍵 {PRTSC} 發送到任何應用程式。
引自http://archive.cnblogs.com/a/1951707/