-2

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

下面是我的 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 "{DOWN}{4}" 'VbsCode
    :: Instead of WScript.Sleep 500 : WshShell.sendKeys "{DOWN}{DOWN}{DOWN}{DOWN}" 'VbsCode
End Sub 'VbsCode
TestAppAuto 'VbsCode
WScript.Quit 0 'VbsCode

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

4

2 回答 2

2

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

您可以使用该SendKeys方法发送一个击键模式,该模式由连续多次按下的单个击键组成。为此,请创建一个复合字符串参数,该参数指定要重复的击键,然后是要重复的次数。您可以使用 {keystroke number} 形式的复合字符串参数来执行此操作。例如,要发送字母“ x”十次,您将发送字符串参数“ {x 10}”。确保在击键和数字之间包含一个空格。

于 2020-09-12T16:59:02.963 回答
1

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

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

它更干净,更容易编辑。

于 2020-09-12T16:16:22.277 回答