複製鏈接
請複製以下鏈接發送給好友

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 鍵。
注意:
  1. SendKeys 不能將按鍵消息發送到這樣一個應用程序——這個應用程序並沒有被設計成在 Microsoft Windows 中運行。
  2. 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 ’事件結束