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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    YikxX



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Fom64, приветствую!

    Цитата:
    Не совсем понял задачу. Тебе надо запустить скрипт типа так: "script.au3 <url>" если не запущен firefox и "script.au3" если запущен? Так попробуй:  
    Не совсем так. <url> надо передавать в любом случае, и если запущен и если не запущен. Если запуск без передачи <url> (и вообще без каких-либо ключей) идет - просто запускать экзешник браузера через runus, как в изначальном скрипте, без передачи ему каких-либо ключей/ссылок, соответственно. Примерно так.
     
    Попробовал - не работает и даже просто браузер не запускает, хоть с передачей <url>, хоть без
     
    P.S. Как вариант: можно сделать при переданном <url> запуск через runas (с передачей url экзешнику браузера) - если браузер не запущен и то же самое, но через просто run - если уже запущен.
     
    Попробовал такой вариант

    Код:
    #NoTrayIcon
     
    $sUserName = "User_Name"
    $sPassword = "Parol"
    $browser = @ScriptDir & "/firefox.exe"
    $Pattern = "(?i)^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$"
     
    If $CmdLine[0] > 0 Then
      $a = StringRegExp($CmdLine[1], $Pattern) ; проверка, что передан url
        If $a = 1 Then
           ; что, собсно мешает использовать конструкцию из реестра?
           RunAs($sUserName, @ComputerName, $sPassword, 1, $browser & ' -osint -url "' & $CmdLine[1] & '"')
        EndIf
    EndIf
    RunAs($sUserName, @ComputerName, $sPassword, 1, $browser)

     
    Запуск браузера с ярлыка проходит как положено, но никакая передача <url> не работает, тупо срабатывает последний RunAs Походу я Else забыл?

    Всего записей: 1021 | Зарегистр. 29-07-2008 | Отправлено: 12:36 25-03-2019 | Исправлено: YikxX, 13:24 25-03-2019
    YikxX



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Fom64 Огромное спасибо вам, добрый человек, за наводку! В итоге заработал такой вариант:

    Код:
    $sUserName = "User_Name"
    $sPassword = "Parol"
    $browser = @ScriptDir & "/firefox.exe"
    $Pattern = "(?i)^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$"
     
    If $CmdLine[0] > 0 Then
      $a = StringRegExp($CmdLine[3], $Pattern) ; проверка, что передан url
        If $a = 1 Then
           ; что, собсно мешает использовать конструкцию из реестра?
           RunAs($sUserName, @ComputerName, $sPassword, 1, $browser & ' -osint -url "' & $CmdLine[3] & '"')
        EndIf
    Else
    RunAs($sUserName, @ComputerName, $sPassword, 1, $browser)
    EndIf

     
    Единственное чего не понял - про одинарные и двойные кавычки, когда какие использовать? Как, например, научить скриптяру передавать экзешнику ключ -private?

    Всего записей: 1021 | Зарегистр. 29-07-2008 | Отправлено: 21:07 25-03-2019
    Fom64

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    YikxX
    $CmdLine[3] - почему?  не понимаю  
    Про двойные кавычки в справке, кагбе все подробно написано.  

    Всего записей: 262 | Зарегистр. 26-11-2010 | Отправлено: 21:22 25-03-2019
    YikxX



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

    Цитата:
    $CmdLine[3] - почему?  не понимаю
    Так это... в справке же: $CmdLine[0] - кол-во параметров; $CmdLine[1] - первый параметр (в нашем случае -osint); $CmdLine[2] - второй параметр (в нашем случае -url) и $CmdLine[3] - третий параметр "%1" он же, собственно, URL
     
    Ладно, пойду справку читать. Еще бы понять, где в рамках синтаксиса RunAs какие кавчки использовать...

    Всего записей: 1021 | Зарегистр. 29-07-2008 | Отправлено: 21:30 25-03-2019 | Исправлено: YikxX, 22:37 25-03-2019
    NIKZZZZ



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

    Цитата:
    Еще бы понять, где в рамках синтаксиса RunAs какие кавчки использовать...


    Код:
    RunAs($sUserName, @ComputerName, $sPassword, 1, '"' & $browser & '"" -osint -url "' & $CmdLine[3] & '"')

     

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 21:57 25-03-2019
    YikxX



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

    Всего записей: 1021 | Зарегистр. 29-07-2008 | Отправлено: 23:56 25-03-2019 | Исправлено: YikxX, 07:06 26-03-2019
    Fom64

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

    Цитата:
    $CmdLine[3] - третий параметр "%1" он же, собственно, URL  

    CmdLine - относится к скрипту, а не firefox.
    Тупо после If $CmdLine[0] > 0 Then
    вставь
    MsgBox(4096,"CmdLine", "$CmdLine[0] - "&$CmdLine[0]& @CRLF &"$CmdLine[1] - "&$CmdLine[1]& @CRLF &"$CmdLine[2] - "&$CmdLine[2]& @CRLF &"$CmdLine[3] - "&$CmdLine[3] )
    и посмотри

    Всего записей: 262 | Зарегистр. 26-11-2010 | Отправлено: 08:36 26-03-2019
    YikxX



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Fom64 Ну, собственно, вписал, скомпилировал скрипт в exe и запустил его с параметрами -osint -url "http://test.com"
    Вот что получилось

     
    Все, как я и написал, в принципе Я знаю, что он относится к скрипту и скрипт же его подсовывает экзешнику Огнелиса, в качестве параметра командной строки.
     
    А то, что в скрипте -osint -url" написаны напрямую, а не берутся из CmdLine - так особой разницы нет, работает же

    Всего записей: 1021 | Зарегистр. 29-07-2008 | Отправлено: 13:28 26-03-2019 | Исправлено: YikxX, 13:34 26-03-2019
    Fom64

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    YikxX
    Ну хз, дублирование какое - то. Тогда и " -private" можно вставить между -osint  и -url, в скрипте иль в ком.строке поправив номер CmdLine, иль вместо -url, этож кагбе необязательный параметр.

    Всего записей: 262 | Зарегистр. 26-11-2010 | Отправлено: 15:26 26-03-2019
    qwertyhgfdsa50

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А вот такая задачка...
     
    Есть строка из CSV

    Код:
    $AnyCSVString = ("Mon,Tues,Wed,Thur,Fri,Sat,Sun")

     
    Я ее перевожу в массив

    Код:
     
    $rc = $AnyCSVString
       Local $a_line = StringSplit($rc, ";")
     

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

    Всего записей: 58 | Зарегистр. 25-02-2006 | Отправлено: 22:27 05-04-2019
    ynbIpb



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

    Код:
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
     
    $AnyCSVString = ("Mon,Tues,Wed,Thur,Fri,Sat,Sun,1111,2222,3333")
    $a_line = StringSplit($AnyCSVString, ",")
    $iVsize = 21 * $a_line[0]; вычисляем размер окна по вертикали.
    $iVpos = 4 ; начальное положение радиокнопки по вертикали
    Global $aRadio[$a_line[0]+1] ; объявляем массив для радио
    $Form1 = GUICreate("Form1", 300, $iVsize +4)
    For $i=1 To $a_line[0]
        $aRadio[$i] = GUICtrlCreateRadio($a_line[$i], 4, $iVpos, 292, 17)
        GUICtrlSetBkColor ($aRadio[$i], 0x00FF00)
        $iVpos += 21
    Next
    GUISetState(@SW_SHOW)
     
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
     
        EndSwitch
    WEnd

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 22:58 06-04-2019
    qwertyhgfdsa50

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

    Всего записей: 58 | Зарегистр. 25-02-2006 | Отправлено: 09:24 08-04-2019
    kinor



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрые день форумчане!
    Не так давно писал запрос о помощи для извлечения строк из файла "ida.hlp" для последующего их перевода и соответственно его потом собрать. Многоуважаемый Bannan помог написать скрипт, что соответственно помогло решить задачу.
    Можно ли соответствующие действия проделать для файлов с расширениями: *.era, *.erd, *.erm, *.ers
    Соответствующие файлы можно взять по ссылке: https://mega.nz/#!j65kkQ4Y!1IijwTWchyB0GReEnYJHXbS6F7aGjr0xutZ-q01b0BI

    Всего записей: 119 | Зарегистр. 12-02-2018 | Отправлено: 20:55 13-04-2019 | Исправлено: kinor, 20:57 13-04-2019
    ynbIpb



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    kinor, а есть описание формата? Похожи на файлы из какой-то игры.
    Заметил некую закономерность, но эти строки разбросаны хаотично внутри файла.

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 23:46 14-04-2019 | Исправлено: ynbIpb, 23:47 14-04-2019
    kinor



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

    Цитата:
    Заметил некую закономерность, но эти строки разбросаны хаотично внутри файла.  

     
    ynbIpb, нет это не из игры. Это файлы из программы Vue 1.00.59.51 x64. Программа предназначена для генерации 3D-сцен при моделировании, аминировании и рендеринге трёхмерных ландшафтов.
    Софт находится в свободном доступе на rutracker.
    Ссылка на софт  
    Cсылку первоначально на софт не дал из-за громоздкости инсталятора, выложил лишь файлы в которых находятся ресурсы по интерфейсу программы

    Всего записей: 119 | Зарегистр. 12-02-2018 | Отправлено: 09:54 15-04-2019 | Исправлено: kinor, 09:55 15-04-2019
    ynbIpb



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ну тут ничего общего с "ida.hlp" нет. Там как я понял была известна вся структура файла.
    А в этих файлах много непонятного. Без полного понимая всей структуры скрипт не написать.

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 21:08 15-04-2019
    dreyer

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Desktop Icons Restorator  - у когото еще завалялась эта прога?

    Всего записей: 277 | Зарегистр. 02-03-2010 | Отправлено: 02:10 07-05-2019
    ynbIpb



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dreyer,  
    https://creator-lab.ucoz.ru/load/4-1-0-22

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 11:24 07-05-2019
    dreyer

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

    Цитата:
    dreyer,  
    https://creator-lab.ucoz.ru/load/4-1-0-22

     
    спасибо. поможет восставновить ярлыки, а русик к ней может есть уу кого.?)

    Всего записей: 277 | Зарегистр. 02-03-2010 | Отправлено: 22:23 10-05-2019 | Исправлено: dreyer, 22:28 10-05-2019
    YikxX



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

    Цитата:
    $Pattern = "(?i)^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$"
    А как-бы такое же организовать, но для локальных ссылок типа file:/// которые передаются при открытии страниц с жесткого диска?

    Всего записей: 1021 | Зарегистр. 29-07-2008 | Отправлено: 01:09 19-05-2019
       

    Страницы: 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