Batch-VBScript 发送特定键的特定次数[关闭]

Posted

技术标签:

【中文标题】Batch-VBScript 发送特定键的特定次数[关闭]【英文标题】:Batch-VBScript Send specific key(s) specific number of times [closed] 【发布时间】:2020-12-30 20:58:59 【问题描述】:

正如我在问题标题中所问的,当我必须多次发送该密钥时,如何避免重复键入密钥。

下面是我的 Batch-VBScript 混合,为了发送 DOWN 键 4 次,我尝试了下面的代码,但它不起作用?:

FINDSTR /E "'VbsCode" %~f0 > %temp%\~temp.vbs
CSCRIPT //NOLOGO %temp%\~temp.vbs
Sub TestAppAuto 'VbsCode
    On Error Resume Next 'VbsCode
    Set WshShell = WScript.CreateObject("WScript.shell") 'VbsCode
    WshShell.Visible = False 'VbsCode
    WshShell.Run "test.app",0 'VbsCode
    WScript.Sleep 500 : WshShell.AppActivate "Test Window Title" 'VbsCode
    WScript.Sleep 500 : WshShell.sendKeys "DOWN4" 'VbsCode
    :: Instead of WScript.Sleep 500 : WshShell.sendKeys "DOWNDOWNDOWNDOWN" 'VbsCode
End Sub 'VbsCode
TestAppAuto 'VbsCode
WScript.Quit 0 'VbsCode

我怎样才能达到我想要的?

【问题讨论】:

如何在 VBScript 中重复任何内容?使用ForDo 循环。 这能回答你的问题吗? Permanently press key via vbs (Keep key pressed) 【参考方案1】:

我在我的 VBS 脚本中实现了一个 for 循环,需要多次按键来提高 youtube 的音量。

For i = 0 to 20
WshShell.SendKeys ("RIGHT")
Next

它更干净,更容易编辑。

【讨论】:

【参考方案2】:

来自帮助http://download.microsoft.com/download/winscript56/Install/5.6/W982KMeXP/EN-US/scrdoc56en.exe

您可以使用SendKeys 方法发送一个击键模式 由连续多次按下的单次击键组成。去做 这个,创建一个复合字符串参数,指定击键 你想重复,然后是你想要的次数 重复。您可以使用以下形式的复合字符串参数来执行此操作 击键数。例如,发送字母“x”十次, 您将发送字符串参数“x 10”。一定要包括一个 击键和数字之间的空格。

【讨论】:

以上是关于Batch-VBScript 发送特定键的特定次数[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

混合 Batch-VBScript 文件中的发送键

在具有特定键的特定值的数组中查找对象的索引[重复]

SQLite。按特定顺序更新主键的值

获取 nsdictionary 中特定键的值

哪种检查 NSDictionary 是不是包含特定键的方法更快?

仅允许 Joi 模式中键的特定值