【问题标题】:Batch-VBScript Send specific key(s) specific number of times [closed]Batch-VBScript 发送特定键的特定次数[关闭]
【发布时间】: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 "{DOWN}{4}" 'VbsCode
    :: Instead of WScript.Sleep 500 : WshShell.sendKeys "{DOWN}{DOWN}{DOWN}{DOWN}" 'VbsCode
End Sub 'VbsCode
TestAppAuto 'VbsCode
WScript.Quit 0 'VbsCode

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

【问题讨论】:

标签: batch-file cmd vbscript automation active-window


【解决方案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}”。一定要包括一个 击键和数字之间的空格。

    【讨论】:

      猜你喜欢
      • 2020-06-10
      • 2020-02-25
      • 2021-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多