跳到主要内容

KeyPress 按键

🎯功能

普通模拟按一次键盘上的某个键, 也可以通过参数修改为按多次

📜语法

KeyPress 键名或键码, 次数

📥参数

参数数据类型解释
键名或键码字符串整数型要按的键盘按键名称或者按键码数值
次数整数型按键次数

📤返回

💡示例

//65是A键的按键码, 表示按A键1次   
KeyPress 65,1

//支持按键字符, 表示按A键1次
KeyPress "A",1
//高级例子
//介绍: 通过KeyPress方式按下每一个字符, 不支持中文字符, 常用于输入账号密码之类的地方
//需要注意的是: 当输入一个引号时(")必须输入一对("")
//模拟方式: 【0:普通模拟,1:硬件模拟,2:超级模拟】
//毫秒延时: 每个按键之间的等待延时时长
Sub zmKeyList(键码组, 模拟方式, 毫秒延时)
Dim 键码(47)
键码(0) ="a〓A〓65"
键码(1) ="b〓B〓66"
键码(2) ="c〓C〓67"
键码(3) ="d〓D〓68"
键码(4) ="e〓E〓69"
键码(5) ="f〓F〓70"
键码(6) ="g〓G〓71"
键码(7) ="h〓H〓72"
键码(8) ="i〓I〓73"
键码(9) ="j〓J〓74"
键码(10)="k〓K〓75"
键码(11)="l〓L〓76"
键码(12)="m〓M〓77"
键码(13)="n〓N〓78"
键码(14)="o〓O〓79"
键码(15)="p〓P〓80"
键码(16)="q〓Q〓81"
键码(17)="r〓R〓82"
键码(18)="s〓S〓83"
键码(19)="t〓T〓84"
键码(20)="u〓U〓85"
键码(21)="v〓V〓86"
键码(22)="w〓W〓87"
键码(23)="x〓X〓88"
键码(24)="y〓Y〓89"
键码(25)="z〓Z〓90"
键码(26)="`〓~〓192"
键码(27)="1〓!〓49"
键码(28)="2〓@〓50"
键码(29)="3〓#〓51"
键码(30)="4〓$〓52"
键码(31)="5〓%〓53"
键码(32)="6〓^〓54"
键码(33)="7〓&〓55"
键码(34)="8〓*〓56"
键码(35)="9〓(〓57"
键码(36)="0〓)〓48"
键码(37)="-〓_〓189"
键码(38)="=〓+〓187"
键码(39)="[〓{〓219"
键码(40)="]〓}〓221"
键码(41)="\〓|〓220"
键码(42)=";〓:〓186"
键码(43)="'〓""〓222"
键码(44)=",〓<〓188"
键码(45)=".〓>〓190"
键码(46)="/〓?〓191"
键码(47)=" 〓 〓32"

Dim Key, 数量, 判断, i, m, n
数量 = Len(键码组)
For i = 1 To 数量
Key = Mid(键码组, i + 1, 1)
判断 = False
For n = 0 To 46
MyKeyS = Split(键码(n), "〓")
If Key = MyKeyS(0) Then
判断 = True
If 模拟方式 = 0 Then
KeyPress Clng(MyKeyS(2)), 1
ElseIf 模拟方式 = 1 Then
KeyPressH Clng(MyKeyS(2)), 1
ElseIf 模拟方式 = 2 Then
KeyPressS Clng(MyKeyS(2)), 1
End If
Exit For
ElseIf Key = MyKeyS(1) Then //需要按住Shift键来模拟
判断 = True
If 模拟方式 = 0 Then
KeyDown 16, 1
KeyPress Clng(MyKeyS(2)), 1
KeyUp 16, 1
ElseIf 模拟方式 = 1 Then
KeyDownH 16, 1
KeyPressH Clng(MyKeyS(2)), 1
KeyUpH 16, 1
ElseIf 模拟方式 = 2 Then
KeyDownS 16, 1
KeyPressS Clng(MyKeyS(2)), 1
KeyUpS 16, 1
End If
Exit For
End If
Next
Delay 毫秒延时
If 判断=False Then Exit Sub
Next
End Sub

//调用例子如下
Call zmKeyList("htttps://zimaoxy.com", 0, 50)

📘备注

  • 当遇到按键失败的情况, 可以尝试以下几种方法解决
  • 按下组合键实现方案
  • 用记事本测试KeyPress()命令发现偶尔会失败?
    • 一般是因为启动快捷键F10响应了记事本菜单栏, 导致第一个按键被消耗了, 解决方法是在脚本属性中把启动快捷键F10改为其他键, 例如F9启动
  • 输入中文汉字等文字内容时, 请使用 saystring 或者 模拟复制粘贴快捷键方法