kserg-2002
Новичок
- Сообщения
- 18
- Репутация
- 0
Версия AutoIt: 3.3.0.0
Описание:
Работаю терминально по RDP, написал скрипт - всё работает.
В скрипте были и движения мыши, нажатия мышью кнопок.
Когда я в сеансе RDP - всё работает.
Если же отключаюсь (не выхожу из системы, а просто сворачиваю либо закрываю окно) - работает только первая команда Run...
Переписал скрипт без нажатия клавиш мыши - то же самое.
Точнее, выполнилась вторая команда, но открывшееся окно (Открыть файл) почему-то не активно. Хотя если я в системе, то всё выполняется дальше. Вставляю часть кода.
Примечания:
Каким образом оптимизировать вот выбор в начале? С помощью Case?
Соответственно, как сделать, чтоб запускалось на Сервере, даже если пользователь Отключен, но в систему вошел.
Описание:
Работаю терминально по 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?
Соответственно, как сделать, чтоб запускалось на Сервере, даже если пользователь Отключен, но в систему вошел.