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

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



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

    Цитата:
    Вы пробовали сами? И Pro и Home пришет "Microsoft Windows XP".

    У меня нет Home, возможно нужно смотреть ключ
     

    Код:
    MsgBox(4096,"version",RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion","EditionID"))  

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 19:36 23-09-2010
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Lovec
    Можно так попробовать, у меня показывает Microsoft Windows XP Professional.
    Читать дальше..
    ScriptOmatic.au3

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 21:44 23-09-2010
    Leagnus

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AZJIO, супер, спасибо большое! Я давно мечтал о контроле микрухи, т.к. часто записываю трансляции интернет-станций, и часто забываю выключить микрофон от скайпа.
    На моей ОСи микрофон определяется так:

    Код:
    1, "dWave", 1

    Всего записей: 148 | Зарегистр. 12-09-2008 | Отправлено: 22:57 23-09-2010 | Исправлено: Leagnus, 22:59 23-09-2010
    monsoon



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AZJIO
     
    При компиляции первого скрипта:

    Код:
    <span class="au3_S9">$title1='Общая громкость'
    ERROR: syntax error <

    Игнорирую ошибку, получаю exe на выходе, но при запуске:

    Цитата:
    AutoIt Error
    ---------------------------
    Line -1:
    Error: Unable to parse line.
     
    Это несущественно, т.к. первый скрипт не очень практичен.
     
     
    sAnalog, 9  у меня действует на регулировку звука для Rear Pink In. Как понимаю, это гнездо задней панели, куда обычно и подключается микрофон. К сожалению, проверить пока не могу по ряду причин (без них, чтобы не оффтопить)
     

    Цитата:
    Жаль, что микрофон не имеет стандарной абревиатуры sMicrophone, а то бы добавил в скрипт "Volume Control".  

    Т.е. добавить не получится?  М.б. для микрофона стоит сделать отдельную утилитку, например с иконкой микрофона? Тем более, что заценить ее смог уже не только я один.
     

    Цитата:
    У меня на эту клавишу раскрывается "Password Commander", может стоить сделать выбор модификаторов (Ctrl, Alt, Shift, Win)
     

    Всего записей: 1255 | Зарегистр. 30-01-2003 | Отправлено: 10:14 24-09-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    monsoon
    Очередной тест:
    0, sAnalog, 9 - отключить микрофон (да на задней панели стандартный красный), чтоб не слышать в своих наушниках.
    2, dWave, 1  - отключить общий регулятор записи для всех
    2, sMicrophone, 1 - отключить регулятор записи микрофона
    Так как в основном используется микрофон и достаточно отключить все, то можно добавить dWave в утилиту. Но при этом микрофон останется фонить в наушники.
    Есть тогда другой вариант - получить все элементы в массив, а в настройках добавить пункт выбора горячей клавиши для выбранного элемента.
    Можно даже сделать отдельным пунктом - выбор горячих клавиш для каждого элемента и сохранение в ini.
    Но на практике получится что отключение приходится делать двумя горячими клавишами. Тогда сделать вариант "отключить всё".

    Цитата:
    Rear Pink In
    у меня он же.
    Ещё хотел сделать вывод микшера из трей-меню утилиты, не нашёл способ без манипуляций с окнами, при чем только на одном языке.

    Цитата:
    М.б. для микрофона стоит сделать отдельную утилитку, например с иконкой микрофона?
    какой смысл делать отдельно? Чтоб лишний интерпретатор в процессах висел? Или нужна в трее вид комутации микрофона? Понял, но тут всё равно придётся индивидуально переделывать или делать только для микрофона.
     

    Цитата:
    Игнорирую ошибку
    ошибка раскраски кода... вообщем не важно, этот код всё равно индивидуальный, я его как пример дал. Там и координаты другие и чексумма пикселов галочки.
     
    Вот передалал функцию с возвратом в массив Подробнее...
     
    заодно выяснил, что ReDim тормозить только на больших массивах тест
     
    Добавлено:
    monsoon
    Временное решение с микрофоном - ссылка 2кб.
    Поправь на свои dWave и sAnalog. Отключает звук в канале записи (Общий для всех)  и канал микрофона для наушников, чтоб не фонил.

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 13:33 24-09-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Тест бага - покликайте по одному из пунктов несколько раз, операция происходит с другим.
     
    Исправил пост, по ссылке теперь работающий код

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 17:28 24-09-2010 | Исправлено: AZJIO, 13:15 28-09-2010
    monsoon



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

    Цитата:
    Тест бага - покликайте по одному из пунктов несколько раз, операция происходит с другим.
     
    у меня сразу при первом клике. Например, выбрав первый - выбмрается пятый, кликнув на 5-й - выбирается 9-й.
     

    Цитата:
    Временное решение с микрофоном - ссылка 2кб.  

    Спасибо, работает!

    Всего записей: 1255 | Зарегистр. 30-01-2003 | Отправлено: 15:19 25-09-2010 | Исправлено: monsoon, 15:55 25-09-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    monsoon
    Я хотел сделать оболочку выбора устройств, но в очередной раз столкнулся с проблемой чекбоксов. Возможно имеется ввиду не хэндл элемента а хэндл подэлемента ListView, в UDF не нашёл варианта установки/снятия галочки с пункта кликом по нему.
    Сделал ListView, в котором можно кликнув по пункту управлять включением устройст, данные для управления передаются из массива найденных элементов в функцию. Пока все затормозилось на установке галочек...

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 17:54 25-09-2010
    Taran2ul



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите решение регистрирования расширения файла для программы чтобы в реестр вносились данные о пути установки этой программы (а точнее распаковки). Т.е. есть самораспаковывающийся архив с программой, и нужно чтобы файлы некоторого расширения открывались в ней.  
    Вот reg который я сделал:  
     

    Код:
    REGEDIT4
     
    [HKEY_CLASSES_ROOT\.cdw]
    @="CDW-File"
     
    [HKEY_CLASSES_ROOT\CDW-File]
    @="Ascon Kompas-3D Чертеж"
     
    [HKEY_CLASSES_ROOT\CDW-File\shell]
     
    [HKEY_CLASSES_ROOT\CDW-File\shell\Open]
     
    [HKEY_CLASSES_ROOT\CDW-File\shell\Open\command]
    @="e:\\Portable\\KOMPAS-3D V11\\Bin\\KOMPAS.Exe \"%1\""
     
    [HKEY_CLASSES_ROOT\CDW-File\DefaultIcon]
    @="e:\\Portable\\KOMPAS-3D V11\\Bin\\KOMPAS.Exe,1"

     
     
    Но тут встает вопрос - А если путь не тот?  
    Можно как нибудь использовать относительный путь. Подумал что можно при запуске AutoIt скрипта из каталога куда распаковалась программа можно добиться нужного результата.

    Всего записей: 458 | Зарегистр. 18-02-2008 | Отправлено: 01:43 26-09-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Taran2ul
    1. Да, всё правильно, кроме мелочи, путь должен быть обрамлён кавычками, иначе из-за пробелов в пути "KOMPAS-3D V11" файл не откроется.
    @="\"e:\\Portable\\KOMPAS-3D V11\\Bin\\KOMPAS.Exe\" \"%1\""
     
    2. Решение использовать скрипт au3 только для прописки расширения не выгодно, неизвестно будет ли установлен автоит на компе? на котором нужно выполнить, здесь батником будет универсальней. На au3 текущий путь @ScriptDir, в батнике %~dp0 это и есть относительно текущего каталога.
     

    Код:
    RegWrite("HKCR\.cdw","","REG_SZ",'CDW-File')
    RegWrite("HKCR\CDW-File","","REG_SZ",'Ascon Kompas-3D Чертеж')
    RegWrite("HKCR\CDW-File\shell\Open\command","","REG_SZ",'"'&@ScriptDir&'\KOMPAS-3D V11\Bin\KOMPAS.Exe" "%1"')
    RegWrite("HKCR\CDW-File\DefaultIcon","","REG_SZ",'"'&@ScriptDir&'\KOMPAS-3D V11\Bin\KOMPAS.Exe"')


    Код:
    Reg.exe add "HKCR\.cdw" /v "" /t REG_SZ /d "CDW-File" /f
    Reg.exe add "HKCR\CDW-File" /v "" /t REG_SZ /d "Ascon Kompas-3D Чертеж" /f
    Reg.exe add "HKCR\CDW-File\shell\Open\command" /v "" /t REG_SZ /d "\"%~dp0KOMPAS-3D V11\Bin\KOMPAS.Exe\" \"%%1\"" /f
    Reg.exe add "HKCR\CDW-File\DefaultIcon" /v "" /t REG_SZ /d "%~dp0KOMPAS-3D V11\Bin\KOMPAS.Exe" /f

    как пример по теме Ассоциатор.

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 03:16 26-09-2010
    Taran2ul



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AZJIO
    можно же сконвертировать au3 в exe и тогда на конечном компьютере AutoIt не нужен.
    Спасибо за решение.

    Всего записей: 458 | Зарегистр. 18-02-2008 | Отправлено: 12:48 26-09-2010
    BOKN

    Newbie
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Подскажите как реализовать чтобы в IE тыкал на ВАСЮ.... а точнее находил слово ВАСЯ и тыкал на него
    Просто по id нельзя... т.к. ВАСЯ может после перезагрузки страницы быть под quiz-1 и т.д.
     
    <li><input type="radio" name="answer" id="quiz-0" value="0" /><label for="quiz-0">ВАСЯ</label></li>  
                         
    <li><input type="radio" name="answer" id="quiz-1" value="1" /><label for="quiz-1">ПЕТЯ</label></li>  

    Всего записей: 4 | Зарегистр. 03-06-2010 | Отправлено: 15:28 26-09-2010
    madmasles

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

    Код:
    #include <IE.au3>
     
    $oIE = _IECreate('http://Ваша страница/')
    $oForm = _IEFormGetObjByName($oIE, "Ваша форма")
     
    If Not _IEFormElementRadioSelect($oForm, "0", "answer", -1, "byValue") Then
        _IEFormElementRadioSelect($oForm, "0", "answer", 1, "byValue")
    EndIf


    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 17:43 26-09-2010 | Исправлено: madmasles, 18:48 26-09-2010
    BOKN

    Newbie
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    что-то не помогает ((

    Всего записей: 4 | Зарегистр. 03-06-2010 | Отправлено: 19:50 26-09-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BOKN
    Можно регуляркой вытащить id со словом Вася

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 21:47 26-09-2010
    BOKN

    Newbie
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Вытаскивать мне ничего не надо ... мне нужно чтобы он в той форме находил слово и выбирал его ... это же форма
     
     
    Вот исходный код

    Код:
    <div class="content quiz-page">  
                <h2>ВОПРОС</h2>  
    <p>Найдите ВАСЮ ))))</p>  
                <form action="/Quiz-Index.aspx" method="post" class="quiz-question">  
                    <ul class="list">  
                        <li></li>  
                         
                            <li><input type="radio" name="answer" id="quiz-0" value="0" /><label for="quiz-0">ВАСЯ</label></li>  
                         
                            <li><input type="radio" name="answer" id="quiz-1" value="1" /><label for="quiz-1">ПЕТЯ</label></li>  
                         
                            <li><input type="radio" name="answer" id="quiz-2" value="2" /><label for="quiz-2">АНДРЕЙ</label></li>  
                         
                            <li><input type="radio" name="answer" id="quiz-3" value="3" /><label for="quiz-3">ИВАН</label></li>  
                         
                            <li><input type="radio" name="answer" id="quiz-4" value="4" /><label for="quiz-4">ФЁДОР</label></li>  
                         
                    </ul>  
                    <span class="btn-submit">Ответить</span>  
                </form>  
            </div>

     
     
    Нужно чтобы он искал ВАСЮ.. выбирал его и нажимал отправить. Вся сложность заключается в том что ВАСЯ может быть не только первым в выборе но и 2 и т.д.

    Всего записей: 4 | Зарегистр. 03-06-2010 | Отправлено: 21:54 26-09-2010 | Исправлено: BOKN, 22:05 26-09-2010
    madmasles

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

    Цитата:
    что-то не помогает

    Ссылку на страницу дайте.

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 21:57 26-09-2010
    BOKN

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

    Всего записей: 4 | Зарегистр. 03-06-2010 | Отправлено: 03:02 27-09-2010
    jekov



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Посоветуйте,пожалуйста,как прокрутить замену в строке,в которой маска (proxy" value="false) обязательна.Спасибо!

    Код:
    #include <File.au3>
    $find = "<entry key="proxy" value="false"/>"
    $replace = "<entry key="proxy" value="true"/>"
    $filename = "D:\Progs\AutoIT\crta\test.xml"
    _ReplaceStringInFile($filename,$find,$replace)

    Всего записей: 1263 | Зарегистр. 11-09-2005 | Отправлено: 10:17 27-09-2010 | Исправлено: jekov, 10:34 27-09-2010
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    jekov
     
    Кавычки внутри строки, заключенной в кавычки надо удваивать или
     

    Код:
    #include <File.au3>
    $find = '<entry key="proxy" valueа"false"/>'
    $replace = '<entry key="proxy" value="true"/>'
    $filename = "D:\Progs\AutoIT\crta\test.xml"
    _ReplaceStringInFile($filename,$find,$replace)

     
     

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 10:32 27-09-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