2017-01-27 11 views
-1

Я работаю над этой проблемой в течение нескольких дней. У меня есть сценарий, который мне нужно запустить, он запустит программу CLI и введите данные для входа через sendkeys. Это будет работать нормально, если опция «Выполнять только при входе пользователя».Планирование VBS с оболочкой и клавишами отправки для запуска независимо от того, вошел ли пользователь в систему или нет

Однако, как только я выбираю «Запустить, был ли пользователь включен или нет», запланированное задание показывает, что оно выполнялось, но не очевидно, что он это сделал. Как еще я могу подойти к этому?

ответ

1

Sendkeys запрограммирован для взаимодействия с активным интерфейсом пользователя. Поэтому, если ваш компьютер заблокирован, он ничего не сделает, потому что интерфейс заблокирован.

В зависимости от CLI он может иметь параметры для входа в систему при инициализации.

Учитывая файл test.bat:

CD C:\Program Files\example\exampleclidirectory 
set user=username 
set pswd=password 
cmdline.exe -user %user% -password %pswd% 

Если параметры не вариант, попробуйте использовать SendMessage/PostMessage и FindWindow вместо SendKeys. Это должно быть доступно на C# или VB. Но я бы предложил C#.

Вот некоторые ресурсы, которые:

http://www.codingvision.net/miscellaneous/c-send-text-to-notepad

I can't understand how to use SendMessage or PostMessage calls

И это должно дать вам некоторый метод ввода в данных, которые необходимы, чтобы получить программу прокатки.

+0

Спасибо за подсказку. CLI действительно принимает входные данные из файла для имени пользователя/пароля. –