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

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

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть ли способы получить цвет пикселя клиентской области окна, если окно свёрнуто?
     
    Я нашёл только такую штуку:http://www.fengyuan.com/article/wmprint.html
    Но после публикации прошло довольно много времени, может появились какие - нибудь новые решения?

    Всего записей: 13 | Зарегистр. 17-09-2015 | Отправлено: 00:11 03-09-2017
    DeZz



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет.
     
    Есть у меня скриптец, который сидит менюшкой в трее. Так вот нужно, чтобы по наступлению определенного времени он что-то сделал, ну к примеру выдал сообщение.
     
    Как узнать время я знаю, но не пойму как заставить его проверять это...

    Всего записей: 1164 | Зарегистр. 23-01-2006 | Отправлено: 16:51 04-09-2017
    AZJIO



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

    Цитата:
     если окно свёрнуто
    В теории свёрнутое окно высылает код программе, и если автор программы профессионал, то он отключит вывод в окно какой либо информации, так как она напрягает проц впустую. Может развернуть, сделать принтскрин, свернуть и искать в фото? Хотя операция "развернуть" может загружать гиг из подкачки в память ради принта. Идей нет.
     
    DeZz
    Сравнить время, например _DateDiff. Кстати мой вариант _DateDiff_2

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 18:00 04-09-2017 | Исправлено: AZJIO, 18:11 04-09-2017
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, пожалуйста, как переписать код с использованием WinHttp UDF? Что-то как-то не въезжаю.
    В тонкостях работы сетей, честно говоря, не очень разбираюсь, но хотелось бы для универсальности отказаться от объекта WinHttp.WinHttpRequest.5.1 в пользу работы с DLL.

    Всего записей: 6483 | Зарегистр. 28-01-2008 | Отправлено: 22:07 04-09-2017 | Исправлено: Skif_off, 22:08 04-09-2017
    DeZz



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AZJIO
    я ж говорю, это я могу - если нажать на кнопку - то все работает
    но как сделать, чтобы приложение "проверяло каждую секунду" и выдала в нужную само?

    Всего записей: 1164 | Зарегистр. 23-01-2006 | Отправлено: 07:59 05-09-2017
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    DeZz
    Сделать цикл и проверять. Можно проверять прямо в цикле сообщений, но там 100 раз в секунду, это слишком часто, я для этого делал цикл со счётчиком в цикле сообщений. Он на каждый цикл сообщений добавляет к счётчику 1, как счётчик больше 100, то обнуляет счётчик и вызывает функцию проверки. А уж цифру 100 можно поменять на другой и задать нужную скорость проверки. Вариант второй - AdlibRegister, которая остановит прогу для выполнения указанной функции.
     
    Skif_off
    У ViSiToR посмотри гугле-переводчик , может поможет.
     

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 11:19 05-09-2017
    DeZz



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

    Всего записей: 1164 | Зарегистр. 23-01-2006 | Отправлено: 11:58 05-09-2017
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    По моему вопросу выше: изкоробочные функции TCP*() работать отказываются, вспомнил про это - по аналогии поковырялся, вроде срабатывает, пробую разобраться дальше.

    Всего записей: 6483 | Зарегистр. 28-01-2008 | Отправлено: 22:54 05-09-2017
    Skif_off

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

    Код:
    ;Открываю соединение
    $hHTTPOpen = _WinHttpOpen()
    $hHTTPConnect = _WinHttpConnect($hHTTPOpen, ...)
     
    ;В цикле шлю несколько запросов и разбираю ответы
    $aResponse = _WinHttpSimpleSSLRequest($hHTTPConnect, ...)
     
    ;Закрываю
    _WinHttpCloseHandle($hHTTPConnect)
    _WinHttpCloseHandle($hHTTPOpen)

    первый нормально, второй и последующие запросы - HTTP/1.1 400 Bad Request.
    Попробовал внутри цикла в каждой итерации вызывать не только _WinHttpSimpleSSLRequest(), но и _WinHttpConnect(), а потом и целиком, начиная с _WinHttpOpen(), - всё равно только первый запрос нормально проходит.
     
    P.S. Стучусь на Yandex.Disk по WebDAV.

    Всего записей: 6483 | Зарегистр. 28-01-2008 | Отправлено: 13:17 06-09-2017 | Исправлено: Skif_off, 13:17 06-09-2017
    Today_is_a_good_day

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AZJIO
    Спасибо за ответ, видимо придётся так делать.
     
    Ещё один вопрос, скриптом хочу вызвать функции библиотеки, для которой есть обёртка в Autoit. Дело в том, что если она находится не в том месте, где основной скрипт, она отказывается работать. Отказывается раьотать, потому - что библиотека разбита на несколько файлов, ктотрые ищут друг друга в корневой папке скрипта и не находят. Можно ли как - то указать библиотеке правильное местоположение её файлов?
    Прошу не предлагать внести изменения в переменную Path или добавление библиотеки в папку system32.

    Всего записей: 13 | Зарегистр. 17-09-2015 | Отправлено: 19:21 06-09-2017
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Today_is_a_good_day
    А если указать с помощью FileChangeDir каталог библиотеки?

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 19:37 06-09-2017
    Today_is_a_good_day

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ
    Спасибо, работает. Но, как я понимаю, мне придётся постоянно переключаться из одного каталога к другому, чтобы программа нормально работала. Нет ли ещё какого - нибудь решения?

    Всего записей: 13 | Зарегистр. 17-09-2015 | Отправлено: 19:47 06-09-2017
    NIKZZZZ



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

    Цитата:
    Но, как я понимаю, мне придётся постоянно переключаться из одного каталога к другому, чтобы программа нормально работала.

    Если использовать в программе только полные пути, будет незачем бегать по разным каталогам .
     

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 19:55 06-09-2017
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Today_is_a_good_day
    А что за библиотеки? DLL или AU3 или ещё что-то? Путя прописанные в скриптах именем файла скрипт ищет в своей папке. Если не скомпилирован скрипт, то он ищет по алгоритму указанному в описании #include, это в том числе в реестре или в папке include рядом с интерпретатором, ну или указывай прямой полный путь к файлу или относительный если внутри папки программы. (наверно я что-то угадал из загадок)
     
     

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 10:47 07-09-2017 | Исправлено: AZJIO, 15:25 07-09-2017
    Today_is_a_good_day

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AZJIO
    Вам бы телепатом работать =)
     
    DLL-ка, точнее OpenCV, 2.4.9. Скомпелированая, куда скрипт обращается легко подправить, но разные части (файлы, отдельные DLL-ки) друг друга ищут именно в главном каталоге. Сейчас делаю так: через FileChangeDir меняю в нужном моменте главный каталог, а инклюды и обращения к файлам стараюсь сделать до этого изменения. Это будет работать, пока у меня не появится необходимость добавить какую - нибудь другую многофайловую библиотеку, которая будет требовать к себе подобного внимания, и тогда я уже не знаю, что делать.  
    Хорошо, что пока такой необходимости нет.

    Всего записей: 13 | Зарегистр. 17-09-2015 | Отправлено: 21:10 07-09-2017
    VV189



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    У товарища на 10-ке нивкакую не хочет работать в фулскрин DX9 игре (использует Directinput), уже все наверное попробовал... Кто-нибудь сталкивался?

    Всего записей: 500 | Зарегистр. 10-09-2006 | Отправлено: 22:55 07-09-2017
    Today_is_a_good_day

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Извините, но мне опять нужна Ваша помощь.
     
    Есть библиотека OpenCV, есть обёртка для autoIt, но там нет нужной мне функции gpu::multiply(...)
    Вот описание функции:
    http://docs.opencv.org/2.4/modules/gpu/doc/per_element_operations.html
     
    Подскажите, как вызвать эту функцию?

    Всего записей: 13 | Зарегистр. 17-09-2015 | Отправлено: 15:13 08-09-2017
    AlexM2222



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем Здравствуйте!!!  
    Есть у меня вот такой скрипт, который мне удалось смастерить с помощью Форумчан. Он встраивается в boot.wim дистрибутива Windows и позволяет менять "на лету" кое-какие параметры файла ответов. НО ему катастрофически не хватает индикатора Раскладки Клавиатуры, чтобы быстрей сориентироваться на каком языке вводить свои данные. Может кто поможет советом как добавить индикатор или тыкнет в пример, а дальше уже сам (если получится)  

    СКРИПТ
     

    Всего записей: 116 | Зарегистр. 05-09-2010 | Отправлено: 16:06 09-10-2017
    NIKZZZZ



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

    Код:
    Func _GetKeyboardLayout($hWnd)
        Local $aRet = DllCall("user32.dll", "long", "GetWindowThreadProcessId", "hwnd", $hWnd, "ptr", 0)
        $aRet = DllCall("user32.dll", "long", "GetKeyboardLayout", "long", $aRet[0])
         Return "0000" & Hex($aRet[0], 4)
    EndFunc
     
    #cs
        "00000407" Немецкий (стандартный)
        "00000409" Английский (США)
        "0000040C" Французский (стандартный)
        "0000040D" Финский
        "00000410" Итальянский
        "00000415" Польский
        "00000419" Русский
        "00000422" Украинский
        "00000423" Белорусский
        "00000425" Эстонский
        "00000426" Латвийский
        "00000427" Литовский
    #ce


    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 16:15 09-10-2017 | Исправлено: NIKZZZZ, 16:16 09-10-2017
    dialmak



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AlexM2222
    А не проще заюзать генератор файла ответов?
    Генераторов вагон, как в онлайне, так и в офлайне..

    Всего записей: 14007 | Зарегистр. 27-04-2013 | Отправлено: 16:17 09-10-2017 | Исправлено: dialmak, 16:25 09-10-2017
       

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