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
参数非常有用。
注意
由于没有用于激活其他应用程序的托管方法,因此可以在当前应用程序中使用此类,手动选择要向其发送密钥的窗口,或使用 Windows API 方法(如 FindWindow
和 SetForegroundWindow
)强制将焦点放在其他应用程序上。 有关详细信息,请参阅演练:调用 Windows API。
参数 keys
可以指定任何单个键或与 ALT、CTRL 或 SHIFT (组合的任何键,或者这些键的任意组合) 。 每个键由一个或多个字符表示,例如 a
字符“a”或 {ENTER}
ENTER 键。
若要将键与 SHIFT 组合在一起,请在键代码前面加上 +
(加号) 。 若要将键与 CTRL 结合使用,请在键代码前面加上 ^
(插入点) 。 若要将键与 Alt 组合在一起,请在键代码前面加上 %
(百分号) 。 若要指定重复键,请使用表单 {
键号}
。 必须在 键 和 数字之间放置空格。 例如, {LEFT 42}
表示“按向左键 42 次”; {h 10}
表示“按 'h' 10 次”。
下表列出了可用于指定在按相应键 ((如 ENTER 或 TAB) )时不显示的字符的代码。
键 | 代码 |
---|---|
Backspace | {BACKSPACE} 或 {BS} |
BREAK | {BREAK} |
Caps Lock | {CAPSLOCK} |
CLEAR | {CLEAR} |
DELETE | {DELETE} 或 {DEL} |
向下键 | {DOWN} |
End | {END} |
输入 (数字键盘) | {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
参数非常有用。
注意
由于没有用于激活其他应用程序的托管方法,因此可以在当前应用程序中使用此类,手动选择要向其发送密钥的窗口,或使用 Windows API 方法(如 FindWindow
和 SetForegroundWindow
)强制将焦点放在其他应用程序上。 有关详细信息,请参阅演练:调用 Windows API。
参数 keys
可以指定任何单个键或与 ALT、CTRL 或 SHIFT (组合的任何键,或者这些键的任意组合) 。 每个键由一个或多个字符表示,例如 a
字符“a”或 {ENTER}
ENTER 键。
若要将键与 SHIFT 组合在一起,请在键代码前面加上 +
(加号) 。 若要将键与 CTRL 结合使用,请在键代码前面加上 ^
(插入点) 。 若要将键与 Alt 组合在一起,请在键代码前面加上 %
(百分号) 。 若要指定重复键,请使用表单 {
键号}
。 必须在 键 和 数字之间放置空格。 例如, {LEFT 42}
表示“按向左键 42 次”; {h 10}
表示“按 'h' 10 次”。
下表列出了可用于指定在按相应键 ((如 ENTER 或 TAB) )时不显示的字符的代码。
键 | 代码 |
---|---|
Backspace | {BACKSPACE} 或 {BS} |
BREAK | {BREAK} |
Caps Lock | {CAPSLOCK} |
CLEAR | {CLEAR} |
DELETE | {DELETE} 或 {DEL} |
向下键 | {DOWN} |
End | {END} |
输入 (数字键盘) | {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 服务 | 是 |
网站 | 否 |