模拟 按键、文本串、等待按键,以及 锁定前台输入。与 鼠标 并列;虚拟键码 vk 与 字符 char 两套 API 并存,适用场景不同;VK 取值可查阅 虚拟键码表。
| 类型 | 代表接口 | 差异 |
|---|
| VK 码 | KeyPress、KeyDown、KeyUp | 使用 虚拟键码(如回车、方向键、F 键),适合游戏/全局热键类场景。 |
| 字符 | KeyPressChar、KeyDownChar、KeyUpChar | 按 字符 发送,适合输入框打可见文本(仍受焦点与输入法影响)。 |
| 字符串 | KeyPressStr | 一次发送 字符串(编码见 SetDefaultEncode 等)。 |
选型:已知 VK → KeyPress(数值见 虚拟键码表);已知 可见字符 → KeyPressChar 或 KeyPressStr;需 长按 → KeyDown…延时…KeyUp。
| 接口 | 说明 |
|---|
| WaitKey | 阻塞 直到用户按键或超时(参数见详情页),用于脚本暂停或人机确认。 |
与热键区别:WaitKey 是 脚本内同步等待;快捷键 是 异步回调。
选型:vk 模拟且环境易变时在布局变化后调用一次;字符输入仍优先 KeyPressChar/KeyPressStr。
| 文档 | 说明 |
|---|
| 虚拟键码表 | Constant / 十六进制 / 十进制 / 中文说明 对照表,并含 KeyPressCharMap(字符串键 → 数值);供 KeyPress / KeyDown / KeyUp 填写 vk_code 时查阅。 |
| 需求 | 建议 |
|---|
| 组合键 Ctrl+V | 多次 KeyDown/KeyUp 或查是否有一键封装(以版本为准) |
| 向输入框打字 | KeyPressStr 或 KeyPressChar |
| 脚本等人按任意键继续 | WaitKey |
| 防止用户干扰前台 | LockInput(1),结束务必 LockInput(0) |
| 查某个键的十六进制 / 十进制 VK | 虚拟键码表 |
| VK 模拟在切布局/输入法后偶发错键 | 调用一次 BuildKeyCodeTableStable(见详情) |