Keyboard.SendKeys 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將一或多個按鍵輸入傳送至使用中的視窗,就像在鍵盤上輸入一樣。
多載
SendKeys(String) |
將一或多個按鍵輸入傳送至使用中的視窗,就像在鍵盤上輸入一樣。 |
SendKeys(String, Boolean) |
將一或多個按鍵輸入傳送至使用中的視窗,就像在鍵盤上輸入一樣。 |
SendKeys(String)
將一或多個按鍵輸入傳送至使用中的視窗,就像在鍵盤上輸入一樣。
public:
void SendKeys(System::String ^ keys);
public void SendKeys (string keys);
member this.SendKeys : string -> unit
Public Sub SendKeys (keys As String)
參數
- keys
- String
String
,定義要傳送的鍵。
例外狀況
發生使用者缺少必要權限的部分信任狀況。
範例
這個範例會使用 方法, My.Computer.Keyboard.SendKeys
將按鍵傳送至方法所 Shell 啟動的外部應用程式記事本應用程式。
Dim ProcID As Integer
' Start the Notepad application, and store the process id.
ProcID = Shell("NOTEPAD.EXE", AppWinStyle.NormalFocus)
' Activate the Notepad application.
AppActivate(ProcID)
' Send the keystrokes to the Notepad application.
My.Computer.Keyboard.SendKeys("I ", True)
My.Computer.Keyboard.SendKeys("♥", True)
My.Computer.Keyboard.SendKeys(" Visual Basic!", True)
' The sentence I ♥ Visual Basic! is printed on Notepad.
如果找不到具有所要求處理序識別碼的應用程式,則會引發 ArgumentException 例外狀況。
呼叫 Shell 方法需要完全信任 (SecurityException 類別) 。
備註
方法 My.Computer.Keyboard.SendKeys
提供與 Send 和 SendWait 方法類似的功能。
如果其他應用程式必須在應用程式繼續之前完成,則 wait
自變數非常有用。
注意
因為沒有 Managed 方法可啟動另一個應用程式,所以您可以在目前的應用程式中使用此類別、手動選取要傳送密鑰的視窗,或使用和 SetForegroundWindow
等 FindWindow
Windows API 方法強制將焦點放在其他應用程式上。 如需詳細資訊,請參閱逐步解說:呼叫 Windows API。
自 keys
變數可以指定任何單一按鍵或任何與 ALT、CTRL 或 SHIFT (或這些按鍵組合) 的任何組合。 每個索引鍵都會以一或多個字元表示,例如 a
字元 「a」 或 {ENTER}
ENTER 鍵。
若要將按鍵與 SHIFT 結合,請在機碼前面加上 +
(加號) 。 若要將按鍵與 CTRL 結合,請在按鍵程式代碼前面加上 ^
插入號 (插入號) 。 若要將密鑰與 ALT 結合,請在機碼前面加上 %
(百分比符號) 。 若要指定重複索引鍵,請使用表單 {
索引鍵編號}
。 您必須在 索引鍵 和 數字之間放置空格。 例如, {LEFT 42}
表示「按向左鍵 42 次」; {h 10}
表示「按 『h』 10 次」。
下表列出當您按下對應鍵 (,例如 ENTER 或 TAB) 時,可用來指定未顯示的字元代碼。
Key | 程式碼 |
---|---|
退格鍵 | {BACKSPACE} 或 {BS} |
BREAK | {BREAK} |
CAPS LOCK | {CAPSLOCK} |
CLEAR | {CLEAR} |
刪除 | {DELETE} 或 {DEL} |
DOWN ARROW | {DOWN} |
END | {END} |
ENTER (數字鍵控制板) | {ENTER} |
ENTER | ~ |
ESC | {ESCAPE} 或 {ESC} |
HELP | {HELP} |
HOME | {HOME} |
INS | {INSERT} |
向左鍵 | {LEFT} |
NUM LOCK | {NUMLOCK} |
PAGE DOWN | {PGDN} |
PAGE UP | {PGUP} |
RETURN | {RETURN} |
向右鍵 | {RIGHT} |
SCROLL LOCK | {SCROLLLOCK} |
TAB | {TAB} |
向上鍵 | {UP} |
F1 到 F15 | {F1} 到 {F15} |
依專案類型的可用性
專案類型 | 可用 |
---|---|
Windows 應用程式 | 是 |
類別庫 | 是 |
主控台應用程式 | 是 |
Windows 控制項程式庫 | 是 |
Web 控制項程式庫 | 否 |
Windows 服務 | 是 |
網站 | 否 |
另請參閱
適用於
SendKeys(String, Boolean)
將一或多個按鍵輸入傳送至使用中的視窗,就像在鍵盤上輸入一樣。
public:
void SendKeys(System::String ^ keys, bool wait);
public void SendKeys (string keys, bool wait);
member this.SendKeys : string * bool -> unit
Public Sub SendKeys (keys As String, wait As Boolean)
參數
- keys
- String
String
,定義要傳送的鍵。
- wait
- Boolean
選擇性。 Boolean
,指定在應用程式繼續之前,是否等待按鍵得到處理。 預設為 True
。
例外狀況
發生使用者缺少必要權限的部分信任狀況。
範例
這個範例會使用 方法, My.Computer.Keyboard.SendKeys
將按鍵傳送至方法所 Shell 啟動的外部應用程式記事本應用程式。
Dim ProcID As Integer
' Start the Notepad application, and store the process id.
ProcID = Shell("NOTEPAD.EXE", AppWinStyle.NormalFocus)
' Activate the Notepad application.
AppActivate(ProcID)
' Send the keystrokes to the Notepad application.
My.Computer.Keyboard.SendKeys("I ", True)
My.Computer.Keyboard.SendKeys("♥", True)
My.Computer.Keyboard.SendKeys(" Visual Basic!", True)
' The sentence I ♥ Visual Basic! is printed on Notepad.
如果找不到具有所要求處理序識別碼的應用程式,則會引發 ArgumentException 例外狀況。
呼叫 Shell 方法需要完全信任 (SecurityException 類別) 。
備註
方法 My.Computer.Keyboard.SendKeys
提供與 Send 和 SendWait 方法類似的功能。
如果其他應用程式必須在應用程式繼續之前完成,則 wait
自變數非常有用。
注意
因為沒有 Managed 方法可啟動另一個應用程式,所以您可以在目前的應用程式中使用此類別、手動選取要傳送密鑰的視窗,或使用和 SetForegroundWindow
等 FindWindow
Windows API 方法強制將焦點放在其他應用程式上。 如需詳細資訊,請參閱逐步解說:呼叫 Windows API。
自 keys
變數可以指定任何單一按鍵或任何與 ALT、CTRL 或 SHIFT (或這些按鍵組合) 的任何組合。 每個索引鍵都會以一或多個字元表示,例如 a
字元 「a」 或 {ENTER}
ENTER 鍵。
若要將按鍵與 SHIFT 結合,請在機碼前面加上 +
(加號) 。 若要將按鍵與 CTRL 結合,請在按鍵程式代碼前面加上 ^
插入號 (插入號) 。 若要將密鑰與 ALT 結合,請在機碼前面加上 %
(百分比符號) 。 若要指定重複索引鍵,請使用表單 {
索引鍵編號}
。 您必須在 索引鍵 和 數字之間放置空格。 例如, {LEFT 42}
表示「按向左鍵 42 次」; {h 10}
表示「按 『h』 10 次」。
下表列出當您按下對應鍵 (,例如 ENTER 或 TAB) 時,可用來指定未顯示的字元代碼。
Key | 程式碼 |
---|---|
退格鍵 | {BACKSPACE} 或 {BS} |
BREAK | {BREAK} |
CAPS LOCK | {CAPSLOCK} |
CLEAR | {CLEAR} |
刪除 | {DELETE} 或 {DEL} |
DOWN ARROW | {DOWN} |
END | {END} |
ENTER (數字鍵控制板) | {ENTER} |
ENTER | ~ |
ESC | {ESCAPE} 或 {ESC} |
HELP | {HELP} |
HOME | {HOME} |
INS | {INSERT} |
向左鍵 | {LEFT} |
NUM LOCK | {NUMLOCK} |
PAGE DOWN | {PGDN} |
PAGE UP | {PGUP} |
RETURN | {RETURN} |
向右鍵 | {RIGHT} |
SCROLL LOCK | {SCROLLLOCK} |
TAB | {TAB} |
向上鍵 | {UP} |
F1 到 F15 | {F1} 到 {F15} |
依專案類型的可用性
專案類型 | 可用 |
---|---|
Windows 應用程式 | 是 |
類別庫 | 是 |
主控台應用程式 | 是 |
Windows 控制項程式庫 | 是 |
Web 控制項程式庫 | 否 |
Windows 服務 | 是 |
網站 | 否 |