You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用VBScript实现按=键触发循环发送2按键并添加停止功能?

嘿,作为VBScript新手,你的需求完全可以实现,我给你写了一段超易懂的代码,每一步都讲得明明白白,保证你能跟着操作!

完整代码

' 调用系统工具检测按键状态,新手直接复制就行
Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Integer) As Integer

' 创建控制键盘的对象,和你原来的代码逻辑一致
Set wshShell = WScript.CreateObject("WScript.Shell")

' 弹出提示告诉你操作方法
WScript.Echo "准备就绪:按下=键开始自动发送数字2,按下Esc键停止"

' 第一步:等待你按下=键才启动循环
Do While True
    ' 检查=键是否被按下(187是=键的系统识别码)
    If GetAsyncKeyState(187) <> 0 Then
        Exit Do ' 按下=键啦,退出等待环节,开始干活
    End If
    WScript.Sleep 100 ' 每隔0.1秒检查一次,避免占用过多电脑资源
Loop

' 第二步:开始循环发送数字2,同时监听停止按键
WScript.Echo "已开始发送,按下Esc键停止"
Do While True
    ' 检查Esc键是否被按下(27是Esc键的系统识别码)
    If GetAsyncKeyState(27) <> 0 Then
        Exit Do ' 按下Esc,立刻停止发送
    End If
    
    wshShell.SendKeys "2" ' 发送数字2
    WScript.Sleep 9000 ' 等待9秒后再发送下一次
Loop

' 停止后弹出提示告知状态
WScript.Echo "已停止发送"

代码一步步拆解(新手必看)

  • 第一行的Private Declare...:这是借用Windows系统的小工具来检测按键状态,你不用搞懂原理,直接复制进代码就行。
  • Set wshShell =...:和你原来的代码一样,创建一个能帮你模拟按键的“小助手”。
  • 第一个Do While循环:专门用来等你按=键,每隔0.1秒检查一次,不会让电脑卡顿,按下=键就立刻进入自动发送环节。
  • 第二个Do While循环:这就是自动发2的核心环节——先检查你有没有按Esc键(按了就停止),没按的话就发送一次数字2,然后等9秒再重复。
  • WScript.Echo:弹出小提示框,告诉你当前的操作状态,不会让你摸不着头脑。

具体使用步骤

  1. 把上面的代码复制到记事本中
  2. 点击记事本的「文件」→「另存为」,文件名改成AutoSend2.vbs(注意后缀必须是.vbs,不能是默认的.txt)
  3. 双击运行这个文件,会弹出操作提示框
  4. 打开你想输入数字2的窗口(比如记事本、游戏输入框),点击窗口让它处于激活状态
  5. 按下=键,就开始每隔9秒自动发送数字2了
  6. 想要停止时,按下Esc键即可

小提醒

  • 发送按键时,一定要确保你目标输入的窗口是激活状态(比如要给游戏发2,就得先点击游戏窗口)
  • 如果你的=键需要和Shift组合才能打出(部分特殊键盘布局),可能需要调整代码里的按键识别码,标准键盘直接用就行

内容的提问来源于stack exchange,提问作者Riley Hosking

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:01:17