[Архив - Часть 1.2] AutoIt скрипты

Ответить
 • Просмотры: 8
Аватара пользователя
amel27

Re: [Архив - Часть 1.2] AutoIt скрипты

Сообщение amel27 »

NikLok
Цитата:



Скажите как культурно или как лучше?



AutoIT не нуждается в "установке" - достаточно одного autoit3.exe. Компиляция необходима в редких специальных случаях... Да и править AU3-файлы ИМХО удобней.
Аватара пользователя
amel27

Re: [Архив - Часть 1.2] AutoIt скрипты

Сообщение amel27 »

Пожалуйста, представьте себе такой этап работы.

На локальной машине с 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 скрипты

Сообщение Dentel »

qeraser



Не работает. У меня есть сервер, к которому не подключен монитор. На сервере установлена WinXP. Захожу на этот сервер с помощью "Подключение к удаленному рабочему столу" через локальную сеть. На сервере вылажен скрипт. Если "подключение" активно, то скрипт работает и делает то, что надо. Если "подключение" закрыто, скрипт глохнет в самом начале, а именно: началом работы скрипта является запуск программы (вылезает окно авторизации), далее с помощью WinWaitActive определяем, что это окно активно и дальше понеслась (ввод пароля, логина ну т.д. и т.п.). В случае если "подключение" не активно, то скрипт "не видит" это окно авторизации и оно просто висит и ничего не происходит.
Аватара пользователя
amel27

Re: [Архив - Часть 1.2] AutoIt скрипты

Сообщение amel27 »

Dirk Diggler


Цитата:



вывалить стандартный диалог по выбору файлов-папок



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 скрипты

Сообщение amel27 »

Это не вопрос, но грабли... Вот два способа вызова одного скрипта - откомпилированного в EXE и нет:

Код:

Код: Выделить всё

script.au3 "%ALLUSERSPROFILE%\Desktop"



Код:

Код: Выделить всё

script.exe "%ALLUSERSPROFILE%\Desktop"

Первый восстанавливает переменную окружения ALLUSERSPROFILE нормально, а вот второй нет...



Вывод: используем откомпилированные скрипты (принимающие параметры) только из CMD-файлов!
Аватара пользователя
Dirk Diggler

Re: [Архив - Часть 1.2] AutoIt скрипты

Сообщение Dirk Diggler »

Может кому-то понадобиться, потому что я не сразу додумался как это сделать Изображение

Понадобилось мне как-то переключить раскладку во время установки программы. Первое что пришло в голову - Send("+^"). И обломался я сильно, и полез в инет за ответом!Изображение Найти у далось только два поста в архиве, которые мне не помогли. Изображение Но стоило тщательнее порыться в Хелпе, как ответ тут же нашелся - Send("{LSHIFT}+{LCTRL}"). УдачиИзображение
Аватара пользователя
Dirk Diggler

Re: [Архив - Часть 1.2] AutoIt скрипты

Сообщение Dirk Diggler »

Как определить наличие хоста? Встроенный пинг не работает. Проверил тремя разными способами, вот последний:



Код:

Код: Выделить всё

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&quotИзображение говорит 23, т.е. ответ через 23 мс.
Аватара пользователя
Dirk Diggler

Re: [Архив - Часть 1.2] AutoIt скрипты

Сообщение Dirk Diggler »

да и в приведенном в документации примере стоит заменить 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 скрипты

Сообщение amel27 »

Столкнулся еще с одной проблемой: устанавливаю pdfFactory Pro 2.5! Инсталлятор кривучий такой или руки у меня такие, незнаю. В конце инсталляции вываливается информационное окно с кнопкой 'OK'. Его ничем не могу отловить, не WinWait, не WinActive, не WinWaitActive не помогает!!! Если кто с такой прогой сталкивался или мож знает как всетаки 'нажать' эту кнопку подскажите плиз...
Аватара пользователя
amel27

Re: [Архив - Часть 1.2] AutoIt скрипты

Сообщение amel27 »

Dirk Diggler



Пробовал вроде активные хосты определяет, по крайней мере по IP...



192.168.0.0 (моя подсеть) дает ошибку 3

на любые другие сети или несуществующие IP дает ошибку 1
Ответить

Вернуться в «AutoIt»