[Архив - Часть 1.2] AutoIt скрипты
-
amel27
Re: [Архив - Часть 1.2] AutoIt скрипты
NikLok
Цитата:
Скажите как культурно или как лучше?
AutoIT не нуждается в "установке" - достаточно одного autoit3.exe. Компиляция необходима в редких специальных случаях... Да и править AU3-файлы ИМХО удобней.
Цитата:
Скажите как культурно или как лучше?
AutoIT не нуждается в "установке" - достаточно одного autoit3.exe. Компиляция необходима в редких специальных случаях... Да и править AU3-файлы ИМХО удобней.
-
amel27
Re: [Архив - Часть 1.2] AutoIt скрипты
Пожалуйста, представьте себе такой этап работы.
На локальной машине с OC Windows'98 установлен сервер, например, Apach.
Пользователь запустил броузер IE (4-я версия), выполнил некоторые дей-
ствия и переходит к работе в VB-форме, которая станет активной, а
окно IE перестанет быть нужным и его можно будет закрыть! Перед выводом
VB-формы на экран осуществляется по методу ieView.Navigate запуск файла
"_close.htm" (технол. VBScript), расположенного или где-то на диске C:,
или в директории /cgi-bin/ сервера Apach (выбор места размещения файла
"demo.htm" сейчас четко не определяю, об этом я попрошу позже, сформу-
лировав задачу до конца!). Предназначенный только, чтобы закрыть окно
броузера (т.е. сам IE), файл "_close.htm" имеет вид:
Код:
Проблема стала заключаться в том, что на экране появилось меню с двумя
клавишами -- "Да" и "Нет" и необходимостью выбора "Да" без каких-либо
действий со стороны пользователя.
Мои мытарства по решению этой проблемы привели к знакомству с пакетом
AutoIt 3.1, программы которого я установил на компьютере. Далее я запи-
сал код (см. ниже) для "_close.au3" и откомпилировал его, воспользовав-
шись pop_up меню от правой клавиши мышки. Полученный "_close.exe" я
разместил в /cgi-bin/ сервера и запустил этот файл.
Код:
В функции ожидания приведены тексты, которые я списал с появляющегося
меню. Как можно догадаться, результат моих попыток обескураживающий!
Все галочки в свойствах броузера, разрешающих использование ActiveX
не помогли. Я упростил для себя задачу, записав в броузере страницу,
с которой следует начать обзор, файл "_close.htm". Так что, загрузив
страницу, броузер должен был сам себя закрыть без сервера... и тут я
окончательно запутался. Обращение к Форуму на OSzone_net.htm показало,
что на нем рассматриваются преимущественно "мягкие" способы установки
программных пакетов с винчестера. Моя же задача несколько иная и форму-
лируется традиционно по-русски: что делать? Прошу подсказки по разме-
щению "_close.exe" и закрытию этого ненужного мне меню!! Спасибо.
На локальной машине с OC Windows'98 установлен сервер, например, Apach.
Пользователь запустил броузер IE (4-я версия), выполнил некоторые дей-
ствия и переходит к работе в VB-форме, которая станет активной, а
окно IE перестанет быть нужным и его можно будет закрыть! Перед выводом
VB-формы на экран осуществляется по методу ieView.Navigate запуск файла
"_close.htm" (технол. VBScript), расположенного или где-то на диске C:,
или в директории /cgi-bin/ сервера Apach (выбор места размещения файла
"demo.htm" сейчас четко не определяю, об этом я попрошу позже, сформу-
лировав задачу до конца!). Предназначенный только, чтобы закрыть окно
броузера (т.е. сам IE), файл "_close.htm" имеет вид:
Код:
Код: Выделить всё
<html><head></head><body>
<form name="Form1">
</form>
<script for="Form1" language="VBScript">
Window.Close
</script>
</body></html>Проблема стала заключаться в том, что на экране появилось меню с двумя
клавишами -- "Да" и "Нет" и необходимостью выбора "Да" без каких-либо
действий со стороны пользователя.
Мои мытарства по решению этой проблемы привели к знакомству с пакетом
AutoIt 3.1, программы которого я установил на компьютере. Далее я запи-
сал код (см. ниже) для "_close.au3" и откомпилировал его, воспользовав-
шись pop_up меню от правой клавиши мышки. Полученный "_close.exe" я
разместил в /cgi-bin/ сервера и запустил этот файл.
Код:
Код: Выделить всё
WinWaitActive("Microsoft Internet Explorer", "Просматриваемая веб-страница пытается закрыть это окно. Закрыть окно?")
Send("{ENTER}")В функции ожидания приведены тексты, которые я списал с появляющегося
меню. Как можно догадаться, результат моих попыток обескураживающий!
Все галочки в свойствах броузера, разрешающих использование ActiveX
не помогли. Я упростил для себя задачу, записав в броузере страницу,
с которой следует начать обзор, файл "_close.htm". Так что, загрузив
страницу, броузер должен был сам себя закрыть без сервера... и тут я
окончательно запутался. Обращение к Форуму на OSzone_net.htm показало,
что на нем рассматриваются преимущественно "мягкие" способы установки
программных пакетов с винчестера. Моя же задача несколько иная и форму-
лируется традиционно по-русски: что делать? Прошу подсказки по разме-
щению "_close.exe" и закрытию этого ненужного мне меню!! Спасибо.
-
Dentel
Re: [Архив - Часть 1.2] AutoIt скрипты
qeraser
Не работает. У меня есть сервер, к которому не подключен монитор. На сервере установлена WinXP. Захожу на этот сервер с помощью "Подключение к удаленному рабочему столу" через локальную сеть. На сервере вылажен скрипт. Если "подключение" активно, то скрипт работает и делает то, что надо. Если "подключение" закрыто, скрипт глохнет в самом начале, а именно: началом работы скрипта является запуск программы (вылезает окно авторизации), далее с помощью WinWaitActive определяем, что это окно активно и дальше понеслась (ввод пароля, логина ну т.д. и т.п.). В случае если "подключение" не активно, то скрипт "не видит" это окно авторизации и оно просто висит и ничего не происходит.
Не работает. У меня есть сервер, к которому не подключен монитор. На сервере установлена WinXP. Захожу на этот сервер с помощью "Подключение к удаленному рабочему столу" через локальную сеть. На сервере вылажен скрипт. Если "подключение" активно, то скрипт работает и делает то, что надо. Если "подключение" закрыто, скрипт глохнет в самом начале, а именно: началом работы скрипта является запуск программы (вылезает окно авторизации), далее с помощью WinWaitActive определяем, что это окно активно и дальше понеслась (ввод пароля, логина ну т.д. и т.п.). В случае если "подключение" не активно, то скрипт "не видит" это окно авторизации и оно просто висит и ничего не происходит.
-
amel27
Re: [Архив - Часть 1.2] AutoIt скрипты
Dirk Diggler
Цитата:
вывалить стандартный диалог по выбору файлов-папок
FileOpenDialog ( "title", "init dir", "filter" [, options [, "default name"]] )
Цитата:
как перебрать все элементы контрола типа List
См. в сторону ControlCommand ( "title", "text", controlID, "command", "option" ), ControlListView ( "title", "text", controlID, "command" [, option1 [, option2]] )
Цитата:
вывалить стандартный диалог по выбору файлов-папок
FileOpenDialog ( "title", "init dir", "filter" [, options [, "default name"]] )
Цитата:
как перебрать все элементы контрола типа List
См. в сторону ControlCommand ( "title", "text", controlID, "command", "option" ), ControlListView ( "title", "text", controlID, "command" [, option1 [, option2]] )
-
amel27
Re: [Архив - Часть 1.2] AutoIt скрипты
Это не вопрос, но грабли... Вот два способа вызова одного скрипта - откомпилированного в EXE и нет:
Код:
Код:
Первый восстанавливает переменную окружения ALLUSERSPROFILE нормально, а вот второй нет...
Вывод: используем откомпилированные скрипты (принимающие параметры) только из CMD-файлов!
Код:
Код: Выделить всё
script.au3 "%ALLUSERSPROFILE%\Desktop"Код:
Код: Выделить всё
script.exe "%ALLUSERSPROFILE%\Desktop"Первый восстанавливает переменную окружения ALLUSERSPROFILE нормально, а вот второй нет...
Вывод: используем откомпилированные скрипты (принимающие параметры) только из CMD-файлов!
-
Dirk Diggler
Re: [Архив - Часть 1.2] AutoIt скрипты
Может кому-то понадобиться, потому что я не сразу додумался как это сделать
Понадобилось мне как-то переключить раскладку во время установки программы. Первое что пришло в голову - Send("+^"). И обломался я сильно, и полез в инет за ответом!
Найти у далось только два поста в архиве, которые мне не помогли.
Но стоило тщательнее порыться в Хелпе, как ответ тут же нашелся - Send("{LSHIFT}+{LCTRL}"). Удачи
Понадобилось мне как-то переключить раскладку во время установки программы. Первое что пришло в голову - Send("+^"). И обломался я сильно, и полез в инет за ответом!
Найти у далось только два поста в архиве, которые мне не помогли.
Но стоило тщательнее порыться в Хелпе, как ответ тут же нашелся - Send("{LSHIFT}+{LCTRL}"). Удачи
-
Dirk Diggler
Re: [Архив - Часть 1.2] AutoIt скрипты
Как определить наличие хоста? Встроенный пинг не работает. Проверил тремя разными способами, вот последний:
Код:
говорит, что хост доступен(23 мс, @error=0) , несмотря на то, что моя подсетка 192.168.100.0/24, а вот что виндовый пинг говорит
Код:
Может, его смущает выделенное? Но такой случай в докуменатции описан, @error д.б. равен 2, так что за отмазку не канает
Аутоитовский пинг даже на ping("192.168.0.0"
говорит 23, т.е. ответ через 23 мс.
Код:
Код: Выделить всё
MsgBox(0,"",ping("192.168.0.1"))
ping("192.168.0.1")
MsgBox(0,"",@error)говорит, что хост доступен(23 мс, @error=0) , несмотря на то, что моя подсетка 192.168.100.0/24, а вот что виндовый пинг говорит
Код:
Код: Выделить всё
Ответ от 217.106.xxx.xxx: Заданная сеть недоступна.
Статистика Ping для 192.168.0.1:
Пакетов: отправлено = 1, получено = 1, потеряно = 0 (0% потерь),
Приблизительное время приема-передачи в мс:
Минимальное = 0мсек, Максимальное = 0 мсек, Среднее = 0 мсекМожет, его смущает выделенное? Но такой случай в докуменатции описан, @error д.б. равен 2, так что за отмазку не канает
Аутоитовский пинг даже на ping("192.168.0.0"
говорит 23, т.е. ответ через 23 мс.-
Dirk Diggler
Re: [Архив - Часть 1.2] AutoIt скрипты
да и в приведенном в документации примере стоит заменить DNS-имя на IP, как сразу оно перестает работать как надо
Код:
Код:
Код: Выделить всё
$var = Ping("10.0.0.1",2500)
If $var Then ; also possible: If @error = 0 Then ...
Msgbox(0,"Status","Online, roundtrip was:" & $var)
Else
Msgbox(0,"Status","An error occured with number: " & @error)
EndIf-
amel27
Re: [Архив - Часть 1.2] AutoIt скрипты
Столкнулся еще с одной проблемой: устанавливаю pdfFactory Pro 2.5! Инсталлятор кривучий такой или руки у меня такие, незнаю. В конце инсталляции вываливается информационное окно с кнопкой 'OK'. Его ничем не могу отловить, не WinWait, не WinActive, не WinWaitActive не помогает!!! Если кто с такой прогой сталкивался или мож знает как всетаки 'нажать' эту кнопку подскажите плиз...
-
amel27
Re: [Архив - Часть 1.2] AutoIt скрипты
Dirk Diggler
Пробовал вроде активные хосты определяет, по крайней мере по IP...
192.168.0.0 (моя подсеть) дает ошибку 3
на любые другие сети или несуществующие IP дает ошибку 1
Пробовал вроде активные хосты определяет, по крайней мере по IP...
192.168.0.0 (моя подсеть) дает ошибку 3
на любые другие сети или несуществующие IP дает ошибку 1