Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [архив - Часть 2] AutoIt скрипты

Закрытая тема
Настройки темы
[архив - Часть 2] AutoIt скрипты

(*.*)


Сообщения: 36554
Благодарности: 6693


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: Vadikan
Дата: 27-01-2008
Внимание!
Тема переведена в архивное состояние







(настоятельно рекомендуется к прочтению/поиску)


Руководство к действию по работе c AutoIt.


Сайт программы
Русская справка
Коллекция AutoIt скриптов от Sanja Alone
Коллекция AutoIt скриптов от MSFN (могут быть устаревшие).
Справочник по командам rundll32 (команды запуска диалоговых окон и не только...)

AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо).



Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров.
Цитата Vadikan:
В теме уже свыше 500 сообщений и поиск нужной информации в ней усложняется. Есть предложение собрать все решения (скрипты) и разместить их на Wiki по принципу "один скрипт - одна статья wiki", добавляя статьи в категорию Autoit. Речь, в принципе, идет об общих решениях, а не о скриптах для установки конкретной программы. Название статьи, очевидно, должно отражать назначение скрипта. Затем можно в шапке просто разместить ссылки на статьи Wiki.

-------
Канал Windows 11, etc | Чат @winsiders

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:02, 05-02-2006

 

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


amel27
Цитата:
применительно к DllStructGetData() можно использовать этот пример, для файлов будет аналогично:
А что должно возвращаться? я так понял размер файла/байтового массива должен соответствовать размеру данных в файле/массиве?

Т.е всё что нужно так это делить на два и отнимать 2?

Я правда их достал уже баг репортами ... лично JdeB'а точно достал ...

Цитата http://www.autoitscript.com/forum/index.php?s=&showtopic=49621&view=findpost&p=374622:
... and as far as updating ALL UDF's that possibly use this older method of concatenation of strings: No promises from my site .....


Он не считает это багом.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 03:45, 18-07-2007 | #161



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Creat0R
Цитата:
Он не считает это багом.
да мне все равно как назвать, лишь бы поправили...
когда скрипт от одной UDF уходит в даун я это воспринимаю как баг
Цитата:
Я правда их достал уже баг репортами
ладно, спасибо - пойду по твоему линку и сам накляузничаю - мне терять нечего

ADD: я там тебя поддержал vs JdeB
Как я понял про чтение бинарных данных - это не баг, а фича... вот уж завернули
теперь напрямую без дополнительных преобразований в текст работать с такими данными не получится

Последний раз редактировалось amel27, 18-07-2007 в 13:10.

Это сообщение посчитали полезным следующие участники:

Отправлено: 05:33, 18-07-2007 | #162


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Приветствую.

Вопрос по FileReadLine в autoit 3, необходимо сделать так, чтобы считывались все строки в файле по одной, но с таким условием, чтобы это было возможно после закрытия файла FileClose и повторного открытия. Грубо говоря брутфорс атака по словарю, но с закрытием исполняемого файла программы и повторным запуском, где в поле для ввода пароля заносится следующая строка из текстового файла.

Приму любую помощь и воздам по заслугам . Стучите асю 111296.

P.S. - нет, аналог брутуса я не пишу.

Отправлено: 15:09, 18-07-2007 | #163


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


amel27
Цитата:
я там тебя поддержал vs JdeB
Спасибо

Цитата:
теперь напрямую без дополнительных преобразований в текст работать с такими данными не получится
Я так понимаю нужно в бинарные данные преобразовывать чтобы получить размер, а потом чтобы получить нормальный текст преобразовывать обратно в String? (BinaryToString()).

Это скажется и при обычной работе с файлами? или в основном при работе с функциями Dll?

_atta_
Цитата:
необходимо сделать так, чтобы считывались все строки в файле по одной, но с таким условием, чтобы это было возможно после закрытия файла FileClose и повторного открытия
А в чём проблема? считываем в массив весь файл, и перебираем строки...

Код: Выделить весь код
$ReadFileArr = StringSplit(FileRead("C:\File.txt"), @LF)

For $i = 1 To $ReadFileArr[0]
     ;$ReadFileArr[$i] содержит текущую строку (от первой и к последней), с ней можно делать что угодно ;)
Next

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 18:42, 18-07-2007 | #164


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


amel27
Ещё одна беда в новом аутоите - Измученная функция _FileSelectFolderOldStyle() отказывается работать при использовании фичи для которой она и была изначально задуманна - если указать что либо в параметре InitDir (всё кроме нуля (0) ), то функция “убивает” весь скрипт.

Я уже и :cdecl пробовал подставлять под возвращаемое значение, и делил данные на два и отнимал 2... вобщем в итоге ничего не получилось... смог только узнать что функция вызывает сбой на этой строке:

Код: Выделить весь код
$pidl = DllCall ("shell32.dll", "ptr", "SHBrowseForFolder", "ptr", DllStructGetPtr ($ubi))
Сколько я ни химичил с этой строкой, ничего не вышло

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 11:43, 19-07-2007 | #165


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


To Sanja Alone and all

Прикол хотите?

Я откомпилировал скрипт набортным компилятором и погонял его на своих компах -- всё нормально. Мой KAV на .exe не ругался.
Ладно. Отослал этот экзешник своему коллеге, чтобы он посмотрел и заценил. И тут он мне по аське пишет, что его Dr.WEB детектит этот экзешник, как BackDoor.IRC.FFbot

Я сразу загнал этот файлик на virustotal.com. Там 29 антивирусных движков встроено в сайт. И присланный файл прогоняется через все 29. Потом юзеру показывается результат -- что каждый из антивирусов сказал про этот файл.

Посмотрел я на результат и -- точно Dr.WEB задетектил там бэкдор. Кроме доктора облажались ещё:
eSafe -- suspicious Trojan/Worm
VBA32 -- Trojan.Win32.Autoit.ao
Webwasher-Gateway -- Worm.Win32.ModifiedUPX.gen!90 (suspicious)

VBA32 вообще убил наповал. Мало того, что они этот безобидный екзешник в трояны записали, так они ещё и категорию такую придумали -- AutoIt.

А с кого перепуга они задетектили этот экзешник, как вредоносный -- вообще непонятно. Он же просто создаёт штатными виндовыми средствами учётную запись в ОЕ. Просто эмулирует нажатие кнопок и имеет при этом видимые окна. Чего тут криминального?

Я написал письмо в Dr.WEB. Описал кратко ситуацию, приложил скрипт и экзешник.
Ответили довольно быстро. Подтвердили, что, дескать, -- да, ложное срабатывание и что сигнатуры исправлены.

При последующей проверке на VirusTotal Dr.WEB уже ничего не детектил.

В VBA32 я тоже письмо написал. Ответа пока нет. Но насколько я знаю, они никогда быстро не реагировали.

А ещё у кого-нибудь были случаи, что бы антивири ругались на скрипты AutoIt или откомпилированные экзешники?

Отправлено: 03:53, 20-07-2007 | #166


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Creat0R
Цитата:
Это скажется и при обычной работе с файлами? или в основном при работе с функциями Dll?
Если бинарные данные содежат текст в известной кодировке, то никаких проблем (кроме дополнительных преобразований), а вот для других целей их использовать пока не получится - функций для непосредственной работы с бинарниками пока явно недостаточно - только BinaryMid() и BinaryLen().
Цитата:
Сколько я ни химичил с этой строкой, ничего не вышло
да, печально... у меня тоже некоторые давно скачанные с офсайта проги перестали запускаться. Проблема кстати в другом месте - там, где ищется адрес оконной процедуры, именно он и передается в SHBrowseForFolder() вместо CallBack-функции. Если закомментировать вторую строку ошибка исчезнет, но соответственно и председселект перестанет работать:
Код: Выделить весь код
        $ret = DllCall ("user32.dll", "ptr", "GetWindowLong", "hwnd", $hwnd,  "int", -4)
        DllStructSetData ($ubi, 6, $ret[0])
попробую еще помучить Piccaso, хотя сам понимаш никаких гарантий... все-таки на сегодня единственный "легальный" способ - использовать вспомогательные DLL-ки, а наче опять - до очередной смены версий.

Palych64
Цитата:
А ещё у кого-нибудь были случаи, что бы антивири ругались на скрипты AutoIt или откомпилированные экзешники?
на офсайте по этому поводу есть ветка: Are my AutoIt EXE's really infected?, How and Why your EXE's have been deleted.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:14, 20-07-2007 | #167


Пользователь


Сообщения: 135
Благодарности: 32

Профиль | Отправить PM | Цитировать


Давно искал способ как определить наличие подключения к Интернет, наконец-то нашёл:
Код: Выделить весь код
If IsConnected() Then
	MsgBox(0,"","Соединение установлено")
Else 
	MsgBox(0,"","Соединение отсутствует")
EndIf

Func IsConnected()
	Local $IsConnected = DllCall("wininet.dll","int","InternetGetConnectedState","int",0,"int",0)
	Return $IsConnected[0]
EndFunc
Просьба проверить, всё ли правильно в функции?
Проверял на DialUp - работает!

Второй вопрос, как определить скорость подключения к Интернет?
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:30, 21-07-2007 | #168


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Diamond
Цитата:
наконец-то нашёл
Хорошая находка, спасибо...

Правда уже довольно давно и я искал подобное, и amel27 привёл пример (там также можно получить описание причины по которой не доступно соеденение, и ещё разную инфу).

Цитата:
Просьба проверить
У меня работает отлично, соеденение по локальной сети (Кабельное подключение через роутер).

Цитата:
как определить скорость подключения к Интернет?
Общую скорость я не знаю как получить (самому интересно), а вот (примерную) скорость закачки (Download) можно получить так (основа для примера взята с оф. форума - от самого Jon )....

Код: Выделить весь код
#include <Inet.au3>

$TimerInit = TimerInit()
$Source = _INetGetSource("http://www.microsoft.com/default.asp")
$TimerDiff = TimerDiff($TimerInit)

$Size = StringLen($Source)
$speed = Int(($Size / 1024) / ($TimerDiff / 1000))

MsgBox(0, "Approximate Internet Download Speed", $Speed & " KB/s")

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 04:56, 22-07-2007 | #169


Пользователь


Сообщения: 135
Благодарности: 32

Профиль | Отправить PM | Цитировать


Creat0R
Функции от amel27 и Jon'а пожалуй добавлю в свою коллекцию. Спасибо!
Цитата:
У меня работает отлично, соеденение по локальной сети (Кабельное подключение через роутер).
Отлично! Думаю, теперь этот способ можно смело использовать.

Отправлено: 20:24, 22-07-2007 | #170



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [архив - Часть 2] AutoIt скрипты

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Открывая 7z архив пишет не удаётся открыть как архив. Можно ли его восстановить? DreDo Хочу все знать 4 01-12-2009 18:54
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. Vadikan AutoIt 1543 18-01-2009 10:46
[Архив - Часть 1.3] AutoIt скрипты biork AutoIt 503 09-06-2007 11:27
[Архив - Часть 1.2] AutoIt скрипты Dirk Diggler AutoIt 505 02-12-2006 11:00
[Архив - Часть 1.1] AutoIt скрипты EgOrus AutoIt 335 04-02-2006 16:58




 
Переход