
Здесь запущен Windows 10 Pro. Я использую простой скрипт, который действует как ярлык для конфигурации моего игрового контроллера Windows, но мне всегда приходится вручную переходить к кнопке «свойства» в диалоговом окне, чтобы попасть туда, куда я действительно хочу попасть. Это первое изображение — то, куда меня переносит ярлык:
Теперь мне нужно перейти на следующую страницу, на которую можно попасть, нажав кнопку «Свойства»:
Я хотел бы изменить скрипт так, чтобы он автоматически переходил на эту вторую страницу диалога конфигурации игрового контроллера. Есть ли способ изменить скрипт или даже написать новый, который будет это делать? Вот скрипт .vbs (сгенерированный программой Tileconfiy, которая позволяет закреплять ярлыки в меню «Пуск»):
Dim targetPath, targetArguments
targetPath = """C:\Windows\explorer.exe"""
targetArguments = "C:\Windows\System32\joy.cpl"
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.CurrentDirectory = "C:\Windows\System32\"
WshShell.Run targetPath & " " & targetArguments, 1
WshShell.AppActivate("joy.cpl")
WshShell.SendKeys("{TAB}")
WshShell.SendKeys("{ENTER}")
Конфигурация игры открывается нормально, но TAB и ENTER не выполняются. Я пробовал несколько вариантов этой последней части кода, включая следующее:
WshShell.SendKeys("{TAB}")
WshShell.SendKeys("{ENTER}")
и
WshShell.SendKeys("{TAB}")
WshShell.SendKeys("{~}")
и
WScript.CreateObject("WScript.Shell").SendKeys("{TAB})";
WScript.CreateObject("WScript.Shell").SendKeys("~");
и
WScript.CreateObject("WScript.Shell").SendKeys("{TAB}";
WScript.CreateObject("WScript.Shell").SendKeys("ENTER");
Ни один из этих вариантов, похоже, не сработал.
решение1
' -------------------------------------------------------------------------------
'--- AUTOGENERATED BY TILEICONIFIER - DO NOT MANUALLY EDIT ---
'--------------------------------------------------------------------------------
'Custom Shortcut Type = "Explorer"
'Shortcut Name = "JOYSTICK WIn10"
'Shortcut Path = "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\TileIconify\Custom Shortcuts\JOYSTICK WIn10_1\JOYSTICK WIn10.lnk"
Dim targetPath, targetArguments
targetPath = """C:\Windows\explorer.exe"""
targetArguments = "C:\Windows\System32\joy.cpl"
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.CurrentDirectory = "C:\Windows\"
WshShell.Run targetPath & " " & targetArguments, 1
WshShell.AppActivate("Game controllers")
Wscript.Sleep 2000
WshShell.SendKeys("{TAB}{TAB}{TAB}")
WshShell.SendKeys("{ENTER}")
Сначала он открывает диалоговое окно «Игровые контроллеры». Затем активирует окно и заставляет нажать кнопку «Свойства».