Что нового

Проблема с работой скрипта при отключенном сеансе по RPD

kserg-2002

Новичок
Сообщения
18
Репутация
0
Версия AutoIt: 3.3.0.0
Описание:
Работаю терминально по RDP, написал скрипт - всё работает.
В скрипте были и движения мыши, нажатия мышью кнопок.
Когда я в сеансе RDP - всё работает.
Если же отключаюсь (не выхожу из системы, а просто сворачиваю либо закрываю окно) - работает только первая команда Run...
Переписал скрипт без нажатия клавиш мыши - то же самое.
Точнее, выполнилась вторая команда, но открывшееся окно (Открыть файл) почему-то не активно. Хотя если я в системе, то всё выполняется дальше. Вставляю часть кода.
Код:
RunWait(@ComSpec & " /c " & "Price_1C.lnk","",@SW_MAXIMIZE)
;Выполняется!
If WinWaitActive("1С:Предприятие","Каталог пользователя занят!",2) Then
	Send("{Enter}")
	MsgBox(0,"Скрипт не выполнен","Каталог пользователя занят. Прайс не создан.");
	Exit
EndIf

If WinWaitActive("1С:Предприятие","Программа была завершена аварийно",2) Then
	Send("{Enter}")
	MsgBox(0,"Скрипт не выполнен","Программа 1С была завершена аварийно (требует Монопольно). Скрипт не выполнен.");
	Exit
EndIf

If WinWaitActive("1С:Предприятие","Не открыт период!",10) Then
	ControlClick("1С:Предприятие","Не открыт период!",7) ;нажимаем "Нет"
EndIf

ControlSend("1С:Предприятие", "", "[CLASS:#32770; INSTANCE:1]", "{CTRLDOWN}o{CTRLUP}")
;Тоже выполнилось, но окно Открытия файлов - неактивно.
WinWait("Открыть","&Тип файлов:")
If Not WinActive("Открыть","&Тип файлов:") Then WinActivate("Открыть","&Тип файлов:")
WinWaitActive("Открыть","&Тип файлов:")

ControlSend("Открыть","","[CLASS:Edit; INSTANCE:1]","Price_Script.ert{ENTER}")
;Из-за неактивности окна, видимо, не выполняется!
Примечания:
Каким образом оптимизировать вот выбор в начале? С помощью Case?
Соответственно, как сделать, чтоб запускалось на Сервере, даже если пользователь Отключен, но в систему вошел.
 

timsky

Осваивающий
Сообщения
93
Репутация
28
Блин, проблемы с RDP надо в ФАК какой-нить закинуть :smile:
Мой совет - запускать подобные скрипты в реальном сеансе юзера, т.е. под Радмином и подобными, а не в RDP.
 
Верх