VBS и Taskscheduler — Почему не работает?

#vbscript #taskscheduler

#vbscript #taskscheduler

Вопрос:

Я создал скрипт vbs для запуска программы и ввода учетных данных для входа. Когда я запускаю скрипт щелчком мыши, он работает идеально, но при запуске через планировщик он работает не так, как хотелось бы. Сценарий выглядит следующим образом:

 Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Exec("C:blpWintrvWINTRV.EXE")
Set objShell = Nothing
WScript.Sleep 5000

set WshShell = WScript.CreateObject("WScript.Shell")
WScript.Sleep 1000
WshShell.AppActivate "1-BLOOMBERG"
WScript.Sleep 1000
WshShell.SendKeys "{ESCAPE}"
WScript.Sleep 1000
WshShell.SendKeys "login~"
WScript.Sleep 1000
WshShell.SendKeys "username   "  'do not remove spaces after username
WScript.Sleep 1000
WshShell.SendKeys "password~"
 

При запуске через планировщик я вижу, что Bloomberg открывается на панели задач, но окно никогда не активируется и учетные данные не вводятся. Есть идеи, почему это не работает?

Комментарии:

1. Вы не можете установить окно переднего плана, если у вас его нет. На переднем плане для TS нет окон. Таким образом, TS и, следовательно, ваш скрипт не могут установить окно переднего плана.

2. Извините за довольно поздний ответ. Каково точное определение окна переднего плана? И есть ли способ установить передний план для планировщика задач, или это невозможно?

3. Окно переднего плана — это окно, которое находится поверх всех других окон. Если он может принимать ввод с клавиатуры, именно на нем сосредоточен фокус.