-
sendkeys
鎖定
SendKeys 是 Visual Basic 中的一個編程語句,可將一個或多個按鍵消息發送到活動窗口,如同用鍵盤進行輸入一樣。發送某些特殊字符時須用一對大括號(“{ }”)圍起來,某些特殊按鍵要使用專用代碼,也可設置為各類組合鍵。
- 中文名
- sendkeys
- 隸 屬
- Visual Basic
- 屬 性
- 編程語句
- 語 法
- SendKeys string[, wait]
sendkeys語法
SendKeys string[, wait]
sendkeys參數意義
string部分必需的,字符串表達式,指定要發送的按鍵消息。
Wait可選的,指定等待方式的值。如果為 False(缺省值),則控件在按鍵發送出去之後立刻返回到過程;如果為 True,則按鍵消息必須在控件返回到過程之前加以處理。説明每個按鍵由一個或多個字符表示。
sendkeys用法
(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} |
ENTER | {ENTER}或 ~ |
ESC | {ESC} |
NUM LOCK | {NUMLOCK} |
SCROLL LOCK | {SCROLLLOCK} |
UP ARROW | {UP} |
DOWN ARROW | {DOWN} |
LEFT ARROW | {LEFT} |
RIGHT ARROW | {RIGHT} |
END | {END} |
HOME | {HOME} |
INS or INSERT | {INSERT} 或 {INS} |
PAGE DOWN | {PGDN} |
PAGE UP | {PGUP} |
PRINT SCREEN | {PRTSC} |
WIN | ^{ESC} |
TAB | {TAB} |
HELP | {HELP} |
F1 | {F1} |
F2 | {F2} |
F3 | {F3} |
F4 | {F4} |
F5 | {F5} |
F6 | {F6} |
F7 | {F7} |
F8 | {F8} |
F9 | {F9} |
F10 | {F10} |
F11 | {F11} |
F12 | {F12} |
注意:如果要輸出空格可以這樣編寫程序:“sendkeys(" ")”
(4)為了指定那些與 SHIFT、CTRL 及 ALT 等按鍵結合的組合鍵,可在這些按鍵碼的前面放置一個或多個代碼,這些代碼列舉如下:
按鍵 | 代碼 |
---|---|
SHIFT | + |
CTRL | ^ |
ALT | % |
(5)為了説明在按下其它按鍵時應同時按下 SHIFT、CTRL、及 ALT 的任意組合鍵,請把那些按鍵的碼放在括號當中。例如,為了説明按下 E 與 C 的時候同時按下 SHIFT 鍵,請使用 "+(EC)"。為了説明在按下 E 的時候同時按下 SHIFT 鍵,但接着按 C 而不按 SHIFT,則使用 "+EC"。
(6)為了指定重複鍵,使用 {key number} 的形式。必須在 key 與 number 之間放置一個空格。例如,{LEFT 42} 意指 42 次按下 LEFT ARROW 鍵;{h 10} 則是指 10 次按下 H 鍵。
注意:
- SendKeys 不能將按鍵消息發送到這樣一個應用程序——這個應用程序並沒有被設計成在 Microsoft Windows 中運行。
- Sendkeys 也無法將PRINT SCREEN 按鍵發送到任何應用程序。
sendkeys示例
set WshShell = WScript.CreateObject("WScript.Shell") '調用
WScript.Sleep 100 '延時0.1秒
WshShell.SendKeys "ABCD" '順序發送ABCD四個鍵
初學者實例:
Private Sub Command1_Click() ‘command1的單擊(click)事件過程 SendKeys("{ENTER}") '發送回車鍵 End Sub ’事件結束