Keyboard.SendKeys 方法

定义

向活动窗口发送一个或多个击键,就像在键盘上键入一样。

重载

名称 说明
SendKeys(String)

向活动窗口发送一个或多个击键,就像在键盘上键入一样。

SendKeys(String, Boolean)

向活动窗口发送一个或多个击键,就像在键盘上键入一样。

SendKeys(String)

Source:
Keyboard.vb
Source:
Keyboard.vb
Source:
Keyboard.vb
Source:
Keyboard.vb
Source:
Keyboard.vb

向活动窗口发送一个或多个击键,就像在键盘上键入一样。

public:
 void SendKeys(System::String ^ keys);
public void SendKeys(string keys);
member this.SendKeys : string -> unit
Public Sub SendKeys (keys As String)

参数

keys
String

定义要发送的密钥的 A 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 提供的功能类似于 SendSendWait 方法。

如果其他应用程序必须完成,然后应用程序才能继续,则参数 wait 非常有用。

注释

由于没有用于激活另一个应用程序的托管方法,因此可以在当前应用程序中使用此类,手动选择要向其发送密钥的窗口,或使用 Windows API 方法(如 FindWindowSetForegroundWindow)强制关注其他应用程序。 有关详细信息,请参阅 Walkthrough:调用 Windows API

keys 参数可以指定任何单个键或任何与 ALT、CTRL 或 SHIFT 组合的键(或这些键的任意组合)。 每个键由一个或多个字符表示,例如 a 字符“a”或 {ENTER} ENTER 键。

若要将密钥与 SHIFT 合并,请在键代码前面加上 + (加号)。 若要将键与 Ctrl 组合,请在键代码前面加上 ^ (插入符号)。 若要将密钥与 ALT 组合在一起,请在密钥代码前面加上 % (percent sign)。 若要指定重复键,请使用窗体 {键编号}。 必须在 数字之间放置空格。 例如, {LEFT 42} 表示“按向左键 42 次”; {h 10} 表示“按 'h' 10 次”。

下表列出了可用于指定在按下相应键(如 ENTER 或 TAB)时未显示的字符的代码。

Key Code
Backspace {BACKSPACE} 或 {BS}
BREAK {BREAK}
Caps Lock {CAPSLOCK}
CLEAR {CLEAR}
删除 {DELETE} 或 {DEL}
向下箭头 {DOWN}
结束 {END}
Enter(数字小键盘) {ENTER}
Enter ~
ESC {ESCAPE} 或 {ESC}
帮助 {HELP}
首页 {HOME}
INS {INSERT}
左箭头 {LEFT}
Num Lock {NUMLOCK}
向下翻页 {PGDN}
Page Up {PGUP}
RETURN {RETURN}
右箭头 {RIGHT}
Scroll Lock {SCROLLLOCK}
Tab {TAB}
向上键 {UP}
F1 到 F15 {F1} 到 {F15}

按项目类型提供可用性

项目类型 可用的
Windows 应用程序 Yes
类库 Yes
控制台应用程序 Yes
Windows 控件库 Yes
Web 控件库
Windows 服务 Yes
网站

另请参阅

适用于

SendKeys(String, Boolean)

Source:
Keyboard.vb
Source:
Keyboard.vb
Source:
Keyboard.vb
Source:
Keyboard.vb
Source:
Keyboard.vb

向活动窗口发送一个或多个击键,就像在键盘上键入一样。

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

定义要发送的密钥的 A String

wait
Boolean

Optional. 一个 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 提供的功能类似于 SendSendWait 方法。

如果其他应用程序必须完成,然后应用程序才能继续,则参数 wait 非常有用。

注释

由于没有用于激活另一个应用程序的托管方法,因此可以在当前应用程序中使用此类,手动选择要向其发送密钥的窗口,或使用 Windows API 方法(如 FindWindowSetForegroundWindow)强制关注其他应用程序。 有关详细信息,请参阅 Walkthrough:调用 Windows API

keys 参数可以指定任何单个键或任何与 ALT、CTRL 或 SHIFT 组合的键(或这些键的任意组合)。 每个键由一个或多个字符表示,例如 a 字符“a”或 {ENTER} ENTER 键。

若要将密钥与 SHIFT 合并,请在键代码前面加上 + (加号)。 若要将键与 Ctrl 组合,请在键代码前面加上 ^ (插入符号)。 若要将密钥与 ALT 组合在一起,请在密钥代码前面加上 % (percent sign)。 若要指定重复键,请使用窗体 {键编号}。 必须在 数字之间放置空格。 例如, {LEFT 42} 表示“按向左键 42 次”; {h 10} 表示“按 'h' 10 次”。

下表列出了可用于指定在按下相应键(如 ENTER 或 TAB)时未显示的字符的代码。

Key Code
Backspace {BACKSPACE} 或 {BS}
BREAK {BREAK}
Caps Lock {CAPSLOCK}
CLEAR {CLEAR}
删除 {DELETE} 或 {DEL}
向下箭头 {DOWN}
结束 {END}
Enter(数字小键盘) {ENTER}
Enter ~
ESC {ESCAPE} 或 {ESC}
帮助 {HELP}
首页 {HOME}
INS {INSERT}
左箭头 {LEFT}
Num Lock {NUMLOCK}
向下翻页 {PGDN}
Page Up {PGUP}
RETURN {RETURN}
右箭头 {RIGHT}
Scroll Lock {SCROLLLOCK}
Tab {TAB}
向上键 {UP}
F1 到 F15 {F1} 到 {F15}

按项目类型提供可用性

项目类型 可用的
Windows 应用程序 Yes
类库 Yes
控制台应用程序 Yes
Windows 控件库 Yes
Web 控件库
Windows 服务 Yes
网站

另请参阅

适用于