Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 3)

Модерирует : gyra, Maz

gyra (23-01-2020 10:51): AutoIT (Часть 4)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

 
Описание:

Цитата:
AutoIt v3 - это язык для написания сценариев, напоминающий BASIC. Основным его назначением является автоматизация работ с Windows GUI (графическим интерфейсом пользователя MS Windows). Для выполнения этой сложной задачи предоставляется комбинация испытанных методов, включающих в себя эмуляцию нажатий комбинаций клавиш клавиатуры, перемещения указателя мыши, управление окнами и их визуальными элементами. Как показывает практика, эти "приводные ремни" весьма эффективны для получения работающих решений в ситуациях, когда другие стандартные средства (например, VBScript и SendKeys) оказываются бессильны.
Умеет он очень и очень многое! Бесплатный.

 
  • Справки
  • Инструменты
  • Ресурсы, посвящённые AutoIt
  • Полезные советы новичкам и не только
  • Готовые решения
  • Скрипт раскраски кода AutoIt для публикации в форумах
     


     
    За шапкой следит ViSiToR / AZJIO  

  • Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 13:07 01-06-2010 | Исправлено: Maz, 12:29 10-01-2020
    THE GUILTY GOD



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ynbIpb а куда там надо заходить!???

    Всего записей: 165 | Зарегистр. 24-06-2010 | Отправлено: 19:39 18-12-2010
    ALExey1995



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ynbIpb
    Помогите соеденить  
     

    Цитата:
    Код:
    AutoItSetOption ( "MouseCoordMode", 2) ; опция - относительные координаты клиентской области активного окна
    $sWin1 = "[TITLE:Theatre of War 2: Battle for Caen KeyGen; CLASS:#32770]" ; часть заголовка и класс окна кейгена
    $sWin2 = "[TITLE:Искусство войны. Битва за Кан - Активация; CLASS:#32770]"
    $sNumber = "BX-EETGJ5-USE4SE-NCUJDE-WKE9LC" ; номер, необходимый для активации
    If WinExists($sWin2) = 0 Then
        MsgBox (0, "Ошибка", "Окно Активации не найдено!")
        Exit
    EndIf
     
    WinMove ($sWin2, "", 1, 1); перемещаем в угол
    ControlSetText ($sWin2, "", "Edit1", $sNumber); вставляем HardwareID
    WinActivate ($sWin2)
    MouseClick ("left", 33, 135)
    $hWin2 = WinWait ($sWin2, "Выберите предпочтительный способ активации", 5)
    WinMove ($sWin2, "", 1, 1); перемещаем в угол
    sleep (100)
    $sHardID = ControlGetText ($hWin2, "", "Edit2") ; читаем поле с Hardware ID
    $iPid = ProcessExists ("Caen_KeyGen.exe") ; проверяем запущен ли кейген
    If $iPid = 0 Then ; если нет, то запускаем
        $iPid = Run (@scriptdir & "\Caen_KeyGen.exe"); запускаем кейген
    EndIf
    $hKeygenWin = WinWait ($sWin1, "", 10)
    sleep (1000); задержка, до полного появления окна кейгена
    ;WinSetState ($hKeygenWin, "", @SW_HIDE); скрываем окно
    WinMove ($hKeygenWin, "", 553, 1); перемещаем
    ControlSetText ($hKeygenWin, "", "Edit2", $sHardID); вставляем HardwareID
    sleep (100)
    ControlClick ($hKeygenWin, "", "Button5"); нажимаем Get key
    sleep (100)
    $sKey = ControlGetText ($hKeygenWin, "", "Edit3") ; читаем поле с ключегом
    ProcessClose ($iPid) ; убиваем процесс кейгена
    ControlSetText ($hWin2, "", "Edit3", $sKey); вставляем ключег
    sleep (100)
    ControlClick ($hWin2, "", "Button1");
    MsgBox (0, "", "Готово!")

    и это

    Цитата:
    $sWin1 = "[TITLE:Theatre of War 2: Battle for Caen KeyGen; CLASS:#32770]" ; часть заголовка и класс окна кейгена (подставить своё)
    ControlClick ($sWin1 , "", "Button4"); нажимаем Get Num (какую кнопку жать можно узнать программой AutoIt Window Info)
    Sleep (100); задержка на всякий случай 0,1 сек
    $sNum = ControlGetText ($sWin1, "", "Edit1") ; читаем поле Number
    MsgBox (0, "", "Вот: " & $sNum)
     

    заранее спс

    Всего записей: 212 | Зарегистр. 07-11-2010 | Отправлено: 19:59 18-12-2010 | Исправлено: ALExey1995, 21:00 18-12-2010
    MoBiRo

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите с простенькой задачкой.
     
    Есть переменная типа Строка с информацией в ней "<div class="local_time">23:51:22</div>"
    Как получить отдельно часы, минуты и секунды из такой строки?
     
    Я сделал стринг сплит по двоиточию, но в итоге надо еще убрать с каждой стороны Дивы =\  
    Я это конечно могу сделать, убрать дивы, но может есть вариант побыстрее?
    Дело в том, что мне надо чтобы программа работала как можно быстрее чтобы обновлять local_time =)
     
    Заранее спасибо!

    Всего записей: 68 | Зарегистр. 11-11-2009 | Отправлено: 07:12 19-12-2010 | Исправлено: MoBiRo, 07:18 19-12-2010
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MoBiRo

    Цитата:
    Есть переменная типа Строка с информацией в ней "<div class="local_time">23:51:22</div>"  


    Код:
    $sStr='<div class="local_time">23:51:22</div>'
    $asTime=StringRegExp($sStr,'<div class="local_time">(\d+):(\d+):(\d+)</div>',1)
    ConsoleWrite($asTime[0]&@CRLF)
    ConsoleWrite($asTime[1]&@CRLF)
    ConsoleWrite($asTime[2]&@CRLF)


    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 07:41 19-12-2010 | Исправлено: NIKZZZZ, 07:50 19-12-2010
    AJIeKc89



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ALExey1995
    Подробнее...
     
    Поправил, забыл ехе поставить, в конце файла!

    Всего записей: 58 | Зарегистр. 19-04-2010 | Отправлено: 09:08 19-12-2010 | Исправлено: AJIeKc89, 15:45 19-12-2010
    ALExey1995



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    не пашет
    вот код
    Подробнее...

    Всего записей: 212 | Зарегистр. 07-11-2010 | Отправлено: 12:57 19-12-2010 | Исправлено: ALExey1995, 16:04 19-12-2010
    AJIeKc89



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ALExey1995
    В начале кода нужно добавить команду, для запуска программы активации.

    Код:
    Run ("pcnsl.exe /lic:activate")

    И зачем удалили команду AutoItSetOption ?
     
    Вот почти готовый код, для ПП3.
    Подробнее...

    Всего записей: 58 | Зарегистр. 19-04-2010 | Отправлено: 18:21 19-12-2010 | Исправлено: AJIeKc89, 18:28 19-12-2010
    older

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    никто не поможет переделать батник в autoit?

    Код:
    @echo off
    set datapath=%~n0
    set datapath=%datapath:~9%
    if exist "%datapath%\*" start "" skype.exe /secondary /removable /datapath:"%datapath%" /nosplash /minimized
     

    батник запускает портабельно скайп, причем имя папки с профилем пользователя определяется по части имени запускаемого файла
    например, допустим, что запускаемый файл имеет имя Skype_PN_User.cmd, то профиль пользователя определяется путем отбрасывания первых 9 символов от имени запускаемого файла (в данном случае должно получиться User)
    делается для одновременного запуска нескольких копий скайпа под разными пользователями

    Всего записей: 332 | Зарегистр. 15-02-2003 | Отправлено: 20:20 19-12-2010 | Исправлено: older, 20:27 19-12-2010
    MoBiRo

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Еще один вопрос... Как найти в файле строку подходящую под макет <div class="local_time">23:51:22</div> ?  
     
    Просто я сначала реализовал это все через получения строки документа
     

    Код:
    InetGet("random_url", "random_filename.txt", 1)
    $str = FileReadLine ("random_filename.txt" , 105)
    ConsoleWrite(@CRLF & $str & @CRLF)
     

     
    Но оказалось, что строка меняет свое местоположение.

    Всего записей: 68 | Зарегистр. 11-11-2009 | Отправлено: 20:59 19-12-2010
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MoBiRo

    Цитата:
    Но оказалось, что строка меняет свое местоположение.

    Так в примере она находится автоматом, независимо от расположения.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 21:13 19-12-2010
    MoBiRo

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    older

    Цитата:
    никто не поможет переделать батник в autoit?  
     
    Код:@echo off  
    set datapath=%~n0  
    set datapath=%datapath:~9%  
    if exist "%datapath%\*" start "" skype.exe /secondary /removable /datapath:"%datapath%" /nosplash /minimized  
     
     
     
    батник запускает портабельно скайп, причем имя папки с профилем пользователя определяется по части имени запускаемого файла  
    например, допустим, что запускаемый файл имеет имя Skype_PN_User.cmd, то профиль пользователя определяется путем отбрасывания первых 9 символов от имени запускаемого файла (в данном случае должно получиться User)  
    делается для одновременного запуска нескольких копий скайпа под разными пользователями

     

    Код:
    ; Вырубаем иконку в трее
    TraySetState (2)
     
    ; Получаем имя нашей программы без ".exe" в $user[1]
    $user = StringSplit (@ScriptName, ".")
     
    ; Убираем первые 9 символов
    $user = StringTrimLeft ($user[1], 9)
     
    ; Если существует папка $user, то запускаем скайп.
    If FileExists ( $user & "\" ) Then Run("skype.exe /secondary /removable /datapath:" & $user & " /nosplash /minimized")

     
    Добавлено:
    NIKZZZZ

    Цитата:
    Так в примере она находится автоматом, независимо от расположения.

    Спасибо, подредактировал код.
     
    Наткнулся на последние грабли. На сайте есть кнопка "Очистить время". Можно ли как-нибудь сделать ее нажатие кроме как открытыть браузер + MouseСlick?
     

    Код:
                <div class="clean_time_button">
                    <a href="" title="Очистить время" class="clean_time_button white_button" id="381">
     
                    </a>
                </div>

     

    Всего записей: 68 | Зарегистр. 11-11-2009 | Отправлено: 21:49 19-12-2010 | Исправлено: MoBiRo, 22:25 19-12-2010
    ALExey1995



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AJIeKc89
    СПС КЭП

    Всего записей: 212 | Зарегистр. 07-11-2010 | Отправлено: 22:50 19-12-2010
    older

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MoBiRo
    спс
    а если в имени папки с профилем будет пробел, как быть с кавычками?
    я имею ввиду команду:

    Код:
    Run("skype.exe /secondary /removable /datapath:" & $user & " /nosplash /minimized")

    Всего записей: 332 | Зарегистр. 15-02-2003 | Отправлено: 00:19 20-12-2010 | Исправлено: older, 00:27 20-12-2010
    GERKON779900

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Пацаны ну парюсь уже ! Как сделать чтобы ,запускались два процесса одновременно  и закрывались также вместе  , один ждал завершения процесса другого , и при закрытии закрывался сам . Заранее благодарю .

    Всего записей: 2 | Зарегистр. 19-12-2010 | Отправлено: 01:28 20-12-2010 | Исправлено: GERKON779900, 01:30 20-12-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    GERKON779900 01:28 20-12-2010
    Цитата:
    Как сделать чтобы ,запускались два процесса одновременно  и закрывались также вместе  , один ждал завершения процесса другого , и при закрытии закрывался сам

     
    Так примерно:
     

    Код:
    $sTitle = "__~AU3_Script~__"
     
    AutoItWinSetTitle($sTitle)
    $sScript = 'While WinExists("' & $sTitle & '")\nSleep(10)\nWEnd'
     
    $sTmp = @TempDir & "\~AU3_Script.tmp"
     
    $hFile = FileOpen($sTmp, 2)
    FileWrite($hFile, StringFormat($sScript))
    FileClose($hFile)
     
    Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $sTmp & '"')
    Sleep(1000)
    FileDelete($sTmp)
     
    MsgBox(48, 'Title', 'Close this message to exit both scripts.')


    ----------
    ViSiToR a.k.a CreatoR
    CreatoR это не ник, CreatoR это стиль жизни!

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 01:51 20-12-2010
    ShmelOmaticay

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Код
     
    Вот сделал активатор для Полный Привод 3.

    Всего записей: 17 | Зарегистр. 16-11-2010 | Отправлено: 04:34 20-12-2010 | Исправлено: ShmelOmaticay, 16:50 20-12-2010
    MoBiRo

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ShmelOmaticay
     
    1) Найди в самом верхнем сообщении "Скрипт раскраски кода AutoIt для публикации в форумах".
    2) Тыкни туда.
    3) Найди "Скачать / Download".
    4) Тыкни туда.
    5) Сохрани архив на комп.
    6) Разархивируй.
    7) Открой Au3ToPost.exe
    8) Узри великое окно!
    9) Поставь галку "Ввести код вручную".
    10) Скопируй свой программный код.
    11) Вставь его в программу.
    12) Убедись, что твой код визуально легко воспринимаемый.
    13) Если последнее - ложь, сделай его более читальным.
    14) Нажми "Выполнить".
    15) Подожди.
    16) Отправь полученное на форум.
    17) ???????
    18) PROFIT

    Всего записей: 68 | Зарегистр. 11-11-2009 | Отправлено: 06:56 20-12-2010 | Исправлено: MoBiRo, 07:02 20-12-2010
    GERKON779900

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ViSiToR
    проблема решена

    Всего записей: 2 | Зарегистр. 19-12-2010 | Отправлено: 10:44 20-12-2010 | Исправлено: GERKON779900, 01:53 24-12-2010
    dancer73

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте! Извечная тема portable.
    На работе нужен инет, а прав установки чего-либо нет.  
    Возможно ли сделать портабельную сборку с помощью AutoIT, под которой бы работал USB-модем?  
    Известно, что это устройство при установке копирует в систему: или из своей памяти драйвера,  
    или драйвера нужно установить принудительно...
    На компе стоит Windows 7 pro, модема, конечно, сейчас нет ...

    Всего записей: 5 | Зарегистр. 18-12-2010 | Отправлено: 21:39 20-12-2010 | Исправлено: dancer73, 18:32 21-12-2010
    MoBiRo

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Здравствуйте! Извечная тема portable.  
    На работе нужен инет, а прав установки чего-либо нет.  
    Возможно ли сделать портабельную сборку с помощью AutoIT, под которой бы работал USB-модем?    
    Известно, что это устройство при установке копирует в систему: или из своей памяти драйвера,    
    или драйвера нужно установить принудительно...  
    На компе стоит Windows 7 pro, модема, конечно, сейчас нет ...

     
    Дак сделайте себе правда администратора. Если у вас есть доступ к папке Windows на компе,  то это никакого труда не составит. Вам и права на установку для этого совершенно не нужны...

    Всего записей: 68 | Зарегистр. 11-11-2009 | Отправлено: 22:04 21-12-2010 | Исправлено: MoBiRo, 22:06 21-12-2010
       

    Страницы: 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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

    Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 3)
    gyra (23-01-2020 10:51): AutoIT (Часть 4)


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru