Keyboard.SendKeys 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
向活动窗口发送一个或多个击键,就像在键盘上键入一样。
重载
| 名称 | 说明 |
|---|---|
| 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 提供的功能类似于 Send 和 SendWait 方法。
如果其他应用程序必须完成,然后应用程序才能继续,则参数 wait 非常有用。
注释
由于没有用于激活另一个应用程序的托管方法,因此可以在当前应用程序中使用此类,手动选择要向其发送密钥的窗口,或使用 Windows API 方法(如 FindWindow 和 SetForegroundWindow)强制关注其他应用程序。 有关详细信息,请参阅 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 提供的功能类似于 Send 和 SendWait 方法。
如果其他应用程序必须完成,然后应用程序才能继续,则参数 wait 非常有用。
注释
由于没有用于激活另一个应用程序的托管方法,因此可以在当前应用程序中使用此类,手动选择要向其发送密钥的窗口,或使用 Windows API 方法(如 FindWindow 和 SetForegroundWindow)强制关注其他应用程序。 有关详细信息,请参阅 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 |
| 网站 | 否 |