Войти

Показать полную графическую версию : [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [27] 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78

HORRIBLE
12-05-2008, 20:25
Всем привет.
Как можно заблокировать авторан который запускается с флешок, скриптом?

Vikkywulf
13-05-2008, 00:34
Где бы таки укачать русскую справку к autoit, по ссылке в шапке, задолбался уже скачивать: 404: The page/file you requested could not be found.

Konstantin_555
13-05-2008, 00:44
Где бы таки укачать русскую справку к autoit, по ссылке в шапке, задолбался уже скачивать: 404: The page/file you requested could not be found. »
Попробуй здесь взять: http://www.autoitscript.com/AutoIt/Docs/index.html

*OM*
13-05-2008, 03:25
Мастера покажите простенький пример скрипта который удаляет файл из которого был запущен.

Вопрос: Возможно это реализовать с помощью Ai или .bat или .cmd создавать ?

Creat0R
13-05-2008, 04:10
HORRIBLE, заблокировать авторан который запускается с флешок »
Насколько я знаю за автозапуск отвечает файл «Autorun.inf» в корне диска, может удалять его?

*OM*, простенький пример скрипта который удаляет файл из которого был запущен. »
Самоуничтожение? :)

Opt("OnExitFunc", "_SelfDestroy")

FileCopy(@ScriptFullPath, @ScriptFullPath & ".bak", 1)

MsgBox(16, "Thats it!", "I am gona kill my self now... goodby :`(", 4)

Func _SelfDestroy()
If Not @Compiled Then Return FileDelete(@ScriptFullPath)

Run(@ComSpec & ' /c ping -n 2 localhost > nul & del /q /f "' & FileGetShortName(@ScriptFullPath) & '"', '', @SW_HIDE)
EndFunc

*OM*
13-05-2008, 04:30
Самоуничтожение? »

Ну да путь самурая :ninja: к смерти.. =)

Это для Uninstall буду использовать.

DENoszone
13-05-2008, 12:21
Можете написать скрипт:
1. Заходит на какой то сайт (есть алгоритм)
2. потом на сайте делает поиск мыла ну вид *@*.ru *@*.com *@*.ua и так далее и запихивает в файлы адреса (.VCF .CSV .TXT .DOC .XLS и т.п.) какой то один из них, файлы делает по 100кб.
3. дальше делает переходы по страницам и пункт 2 повторяется.
4. если нету внешних ссылок то заходит на другой сайт (алгоритм есть)
в ие это все
ну понятно все там закрывает когда проходит страницу

alex888500
14-05-2008, 07:12
Написал скрипт, никак не могу сделать перебор пользователей.
Может кто-нибудь подправить.


Run("********")

WinWaitActive("***************") ;Активное окно программы
Sleep(3000)

AutoItSetOption ( "MouseCoordMode", 2 ) ;Клик на поле ввода Логина
MouseClick ( 'left', 93, 30, 2 )


While True

HotKeySet("{F11}", "Terminate") ;Остановка скрипта

$doubled = Mous($1)

Send $1("lexx124") ;Пользователь 1

Send $2("lexx130") ;Пользователь 2

Func Terminate() ;Остановка скрипта
Exit 0 ;Остановка скрипта
EndFunc ;Остановка скрипта


WEnd




; <<<----------функция Смены пользователя--------->>>

Func Mouse($1)
AutoItSetOption ( "MouseCoordMode", 2 ) ;Кнопка Start
MouseClick ( 'left', 265, 160, 1 )

Sleep(360000) ;Ожидание 6 минут

AutoItSetOption ( "MouseCoordMode", 0 ) ;Кнопка Stop
MouseClick ( 'left', 358, 160, 1 )

Sleep(1500)

AutoItSetOption ( "MouseCoordMode", 2 ) ;Клик на поле ввода Логина
MouseClick ( 'left', 93, 30, 2 )

$1 = $1 + 1
Return $1
EndFunc

Drsmog
14-05-2008, 11:04
Здраствуйте.

Как в Excele зделать, допустим в ячеке B1 находится цифра 3 тогда в ячеике B5 троику заменить на значек (+)

на картинке я примерно нарисовал как надо, от куда и куда :-))
Спасибо.

http://forum.oszone.net/attachment.php?attachmentid=11310&stc=1&d=1210755511

ну и далее

alex888500
14-05-2008, 13:43
Проще всего используя функции логики самого Exel'я, почитай справку, там все есть.

Drsmog
14-05-2008, 13:57
Как разбить число допустим 1367 на 1 3 6 7 и присвоить каждую переменной

Creat0R
14-05-2008, 14:13
Drsmog, разбить число допустим 1367 на 1 3 6 7 и присвоить каждую переменной
Хм, каждому числу создать переменную? так можно:


$iNumber = 1367
$aNumbersArr = StringSplit($iNumber, "")

For $i = 1 To UBound($aNumbersArr)-1
Assign("iNumber_" & $i, $aNumbersArr[$i])
Next

MsgBox(0, "", $iNumber_1 & " " & $iNumber_2 & " " & $iNumber_3 & " " & $iNumber_4)

Vadikan
14-05-2008, 21:29
All
Посмотрите, плиз, тему Трей начал прыгать (http://forum.oszone.net/thread-106994.html) - это ваша специализация :)

Creat0R
15-05-2008, 04:01
Библиотека автоматизации Winamp плеером! (http://creator-lab.ucoz.ru/load/3-1-0-43)

Не требует установки внешних модулей к Winamp, функции построены на основе SDK (http://www.winamp.com/development/sdk) с оф. сайта (http://www.winamp.com) разработчиков Winamp'а.

http://creator-lab.ucoz.ru/Images/I_Love_AutoIt.gif

amel27
15-05-2008, 06:12
DENoszone
Можете написать скрипт »есть два вопроса:

1. Для чего нужен скрипт? (есть сомнения)
2. Как вы собираетесь ограничивать геометрический рост кол-ва обрабатываемых линков?.. К примеру, в телепорте есть два механизма: ограничение на глубину вложенных ссылок, либо только ссылками на исходный сайт... В противном случае перебор может никогда не закончиться, при этом бесконтрольная загрузка всех подряд URL-ов (в основном ненадежных сайтов) отрицательно скажется на здоровье ослика IE.

alex888500
Написал скрипт, никак не могу сделать перебор пользователей »слишком мало инфы - подробней объясните суть проблемы и предполагаемый алгоритм работы скрипта, желательно также "снять" характеристики обрабатываемых окон и контролов через "AutoIT Window Info"

Drsmog, Как в Excele зделать, допустим в ячеке B1 находится цифра 3 тогда в ячеике B5 троику заменить на значек (+) »для начала установите библиотеку работы с Excel и посмотрите примеры:
Yet Another -- ExcelCOM UDF, Proceeding by Community-Established UDF Standards (http://www.autoitscript.com/forum/index.php?showtopic=34302)

DENoszone
15-05-2008, 08:36
1. Для чего нужен скрипт? (есть сомнения)
2. Как вы собираетесь ограничивать геометрический рост кол-ва обрабатываемых линков?.. К примеру, в телепорте есть два механизма: ограничение на глубину вложенных ссылок, либо только ссылками на исходный сайт... В противном случае перебор может никогда не закончиться, при этом бесконтрольная загрузка всех подряд URL-ов (в основном ненадежных сайтов) отрицательно скажется на здоровье ослика IE.

1. создания базы для отсылки с одного сайта приглашений.
2. ну первое огранчение это наверное домены сайтов. ua com ru ну наверное это хоть как то снизит вероятность попадание на злобный сайт=) блин..даже не знаю =( надо подумать...как вы считаете нужным?

alex888500
15-05-2008, 08:52
Скрипт который я написал для одного пользователя, выполняется бесконечно пока не нажата F11, работает нормально:


Run("*********")
Sleep(3000)
HotKeySet("{F11}", "Terminate") ;Остановка скрипта

While True ;Бесконечная обработка скрипта
WinWaitActive("**********") ;Активное окно программы
AutoItSetOption ( "MouseCoordMode", 2 ) ;Клик на поле ввода Логина
MouseClick ( 'left', 93, 30, 2, 2)

Send ("lexx127") ;Пользователь 1

AutoItSetOption ( "MouseCoordMode", 2 ) ;Кнопка Start
MouseClick ( 'left', 265, 160, 1, 2)
Sleep(10000) ;Ожидание 6 минут
AutoItSetOption ( "MouseCoordMode", 2 ) ;Кнопка Stop
MouseClick ( 'left', 358, 160, 1 , 2)
WEnd

Func Terminate()
Exit 0
EndFunc


Но проблема состоит в том что пользователей должно быть 50 человек, и просто копировать все операции скрипта с мышкой + второй логин, тупо. В справке нашел как можно сделать функцию Func, в функцию хочу поместить однотипные операции (клики мышкой), плюс алгоритм смены логина пользователя:


Run("*********")
Sleep(3000)
WinWaitActive("**********") ;Активное окно программы
AutoItSetOption ( "MouseCoordMode", 2 ) ;Клик на поле ввода Логина
MouseClick ( 'left', 93, 30, 2, 2)

HotKeySet("{F11}", "Terminate") ;Остановка скрипта

While True ;Бесконечная обработка скрипта

$doubled = Mous($1)

Send $1("lexx127") ;Пользователь 1
Send $2("den") ;Пользователь 2
Send $3("vovan") ;Пользователь 3

WEnd

Func Terminate()
Exit 0
EndFunc

; <<<----------функция Смены пользователя--------->>>
Func Mouse($1)

AutoItSetOption ( "MouseCoordMode", 2) ;Кнопка Start
MouseClick ( 'left', 265, 160, 1, 2)

Sleep(360000) ;Ожидание 6 минут

AutoItSetOption ( "MouseCoordMode", 2) ;Кнопка Stop
MouseClick ( 'left', 358, 160, 1, 2)
Sleep(1500)
AutoItSetOption ( "MouseCoordMode", 2) ;Клик на поле ввода Логина
MouseClick ( 'left', 93, 30, 2, 2)

$1 = $1 + 1
Return $1

EndFunc


вот тут я и запарил :cry:

Maza Faka
15-05-2008, 10:43
alex888500
Можно создать массив с логинами пользователей и передавать их в функцию, что -то вроде этого:
Run("*********")

Sleep(3000)

WinWaitActive("**********") ;Активное окно программы

AutoItSetOption ( "MouseCoordMode", 2 ) ;Клик на поле ввода Логина

MouseClick ( 'left', 93, 30, 2, 2)

HotKeySet("{F11}", "Terminate") ;Остановка скрипта

Global $aUser[4] = [3, "lexx127", "den", "vovan"]

While True ;Бесконечная обработка скрипта
For $i = 1 To $aUser[0]
Mouse($aUser[$i])
Next
Sleep(50)
WEnd

Func Terminate()
Exit 0
EndFunc

; <<<----------функция Смены пользователя--------->>>
Func Mouse($sUser)
MouseClick ( 'left', 265, 160, 1, 2)
Sleep(360000) ;Ожидание 6 минут
MouseClick ( 'left', 358, 160, 1, 2)
Sleep(1500)
MouseClick ( 'left', 93, 30, 2, 2)
EndFunc

TERMINAL
15-05-2008, 10:54
Правда, есть еще проблема - финишное окно... »
ну и что там за проблема?

amel27
15-05-2008, 11:29
Можно создать массив с логинами пользователей и передавать их в функцию »я так понял alex888500 еще не освоился с функциями и массивами, поэтому мой вариант проще будет:_Login("lexx127")
_Login("den")
_Login("vovan")

Func _Login($sUser)
Local $bak = AutoItSetOption ( "MouseCoordMode", 2)

WinWaitActive("**********") ; Активное окно программы
MouseClick ('left', 93, 30, 2, 2) ; Клик на поле ввода Логина
Send ($sUser) ; Пользователь
MouseClick ('left', 265, 160, 1, 2) ; Кнопка Start
Sleep(10000) ; Ожидание 10 сек
MouseClick ('left', 358, 160, 1 , 2) ; Кнопка Stop

AutoItSetOption ("MouseCoordMode", $bak)
EndFunc

alex888500
Все-таки попробуте запустить "AutoIt Window Info" и выяснить ID элементов окна - кнопок и Edit-боксов (типа "Edit1", "Button1"), тогда можно будет пробовать работать с элементами напрямую по ID и не зависеть от координат окна.




© OSzone.net 2001-2012