使用SendKeys將鍵擊和組合鍵擊發(fā)送到活動(dòng)應(yīng)用程序。此類無(wú)法實(shí)例化。
若要發(fā)送一個(gè)鍵擊給某個(gè)類并立即繼續(xù)程序流,請(qǐng)使用Send。
若要等待鍵擊啟動(dòng)的任何進(jìn)程,請(qǐng)使用SendWait。
1.每個(gè)鍵都由一個(gè)或多個(gè)字符表示。若要指定單個(gè)鍵盤(pán)字符,請(qǐng)使用該字符本身。
例如,若要表示字母 A,請(qǐng)將字符串“A”傳遞給方法。
若要表示多個(gè)字符,請(qǐng)將各個(gè)附加字符追加到它之前的字符的后面。
若要表示字母A、B和C,請(qǐng)將參數(shù)指定為“ABC”。
2.加號(hào)(+)、插入符號(hào)(^)、百分號(hào)(%)、波浪號(hào)(~)以及圓括號(hào)() 對(duì) SendKeys 具有特殊含義。若要指定這些字符中的某個(gè)字符,請(qǐng)將其放在大括號(hào) ({}) 內(nèi)。
例如,若要指定加號(hào),請(qǐng)使用“{+}”。
若要指定大括號(hào)字符,請(qǐng)使用“{{}”和“{}}”。
中括號(hào)([ ])對(duì) SendKeys 沒(méi)有特殊含義,但必須將它們放在大括號(hào)內(nèi)。在其他應(yīng)用程序中,中括號(hào)具有特殊含義,此含義可能會(huì)在發(fā)生動(dòng)態(tài)數(shù)據(jù)交換(DDE)時(shí)起重要作用。
3.若要指定在按鍵(如ENTER或TAB)時(shí)不顯示的字符,以及表示操作而不表示字符的鍵,請(qǐng)使用下表中的代碼:
鍵 代碼
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}(保留供將來(lái)使用)
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}
數(shù)字鍵盤(pán)加號(hào)
{ADD}
數(shù)字鍵盤(pán)減號(hào)
{SUBTRACT}
數(shù)字鍵盤(pán)乘號(hào)
{MULTIPLY}
數(shù)字鍵盤(pán)除號(hào) {DIVIDE}
4.若要指定與SHIFT、CTRL和ALT鍵的任意組合一起使用的鍵,請(qǐng)?jiān)谶@些鍵代碼之前加上以下一段或多段代碼。
鍵 代碼
SHIFT +
CTRL ^
ALT
%
若要指定在按一些鍵時(shí)應(yīng)同時(shí)按住SHIFT、CTRL和ALT鍵的任意組合,請(qǐng)將這些鍵的代碼放在括號(hào)內(nèi)。例如,若要指定按E和C時(shí)同時(shí)按住SHIFT
鍵,請(qǐng)使用“+(EC)”。若要指定按E時(shí)應(yīng)按住SHIFT,之后按C時(shí)不按住 SHIFT,請(qǐng)使用“+EC”。
4.要指定重復(fù)的鍵,請(qǐng)使用 {鍵數(shù)字} 的形式。鍵和數(shù)字之間必須放一空格。
例如,{LEFT 42} 表示按左箭頭鍵 42 次;{h 10} 表示按H 10次。
后添:
1、SendKeys.Send("4");
SendKeys.Send(Keys.NumPad4); //只發(fā)送的鍵盤(pán)上面的數(shù)字鍵4,而不是小鍵盤(pán)的4
2、sendkeys.send()輸入中文
先把內(nèi)容復(fù)制到(系統(tǒng)的)剪貼板,再?gòu)募糍N板復(fù)制出來(lái)。
根據(jù)這一原理,編碼的思路就清晰了:
對(duì)剪貼板進(jìn)行操作,把字符串復(fù)制到剪貼板(比發(fā)送“CTRL+C”方便)
焦點(diǎn)定位到輸入框
發(fā)送“CTRL+V”
Vb.Net |
'^c+^v實(shí)現(xiàn)中文的輸入 Dim s As String="hello, 我是中文字符串" Clipboard.SetText(s) '將字符串復(fù)制到剪貼板,相當(dāng)于^c textBox1.Focus() '定位焦點(diǎn) SendKeys.SendWait("^v") 'CTRL+V,粘貼 |
C# |
//^c+^v實(shí)現(xiàn)中文的輸入 string s="hello, 我是中文字符串"; Clipboard.SetText(s); // 將字符串復(fù)制到剪貼板,相當(dāng)于^c textBox1.Focus(); // 定位焦點(diǎn) SendKeys.SendWait("^v"); // CTRL+V,粘貼 |
下面我們可以利用發(fā)送快捷鍵的方式來(lái)實(shí)現(xiàn)批量給QQ好友發(fā)送剪貼板中的信息。
Vb.Net |
|
C# |
|