测试环境
Win7 64 位
按键精灵 X
测试代码
//键盘命令测试
Dim bCapsIsLock
bCapsIsLock = KeyState(20)
If bCapsIsLock Then
MsgBox "大写锁定已开启"
Else
MsgBox "大写锁定未开启"
End If
Dim DelayTime = 200
Delay (DelayTime)
KeyGroup("R", "Win")
Delay (DelayTime)
InputText("cmd")
Delay (DelayTime)
KeyPress(13,1) //回车
Delay (DelayTime)
InputText ("echo Please press Enter to continue:")
Delay (DelayTime)
KeyPress(13,1) //回车
Dim m_KeyCode = KeyWait()
If m_KeyCode <> 13 Then
Return
End If
InputText ("explorer c:")
Delay (DelayTime)
KeyPress(13,1) //回车
Delay (DelayTime*5)
KeyPress("Home", 1)
Delay (DelayTime*5)
SetSimMode 2
KeyDown("Shift", 1)
Delay (DelayTime*5)
KeyPress("End", 1)
Delay (DelayTime)
KeyUp("Shift", 1)
SetSimMode 0
整个脚本操作流程
- 判断大写锁定 是否打开(即相当于是否按下),并弹框显示
- Win +R 启动运行
- 输入 cmd 运行 命令行
- 输出提示 “按回车继续”,并等待输入按键
- 判断如果是回车 则 继续 ,不是 ,退出
- 打开 资源管理器 c盘
- 通过shift的方式选中全部文件
备注
1.关于各个函数测功能和参数 ,在按键精灵X的左侧 全部命令 -> 基本命令->键盘命令 里找到。
2.关于按键码 ,就是 “KeyPress(13,1)” 这里的第一个参数13 ,可以在按键精灵X的左侧 全部命令 -> 杂项查询 -> 按键码查询 里找到所有按键对应的按键码
或者直接打开104键键盘 按键码表 ,ctrl +f 搜索想找的按键码。
爬坑记录
1.有些键盘操作会被安全软件拦截 ,比如步骤2的win键就会被360拦截掉,所以,使 用前最好关闭360等安全软件。
2.在执行InputText ()语句时要注意当前的激活窗口,当前激活窗口不是自己想要的窗口,则InputText ()不能正确输入。
3.关于 KeyDown():
1)KeyDown 只是按一下按键,不松手,和键盘上的按住某键不是一个概念,除了shift ,ctrl等功能键外,应该是不支持按住的。
2)即使是按住shift等,也很可能无法按住,这时,可以用SetSimMode 2 或SetSimMode 1 ,改变模拟方式, SetSimMode 设置模拟方式
注意,使用完一定要将模拟方式更改成0 ,SetSimMode 0 ,否则可能遇到键盘失灵的情况。