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

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Интересует способы смены языка и формат языкового файла программы...
     
    1. Формат, где номер строки является номером переменной.
    Цитата:
    Сохранить всё
    Вырезать
    Копировать
    Вставить
    Недостаток - нет смысловых названий переменных в теле скрипта.
     
    2. Формат записи в виде ini, возможно здесь не обязательно читается как ini, а например создание переменной до знака "=" со значением после знака равно, т.е. построчно разделение в массив и далее разделение строки знаком "=" для генерации переменных.
    Цитата:
    strYesToAll=Да для всех
    strNoToAll=Нет для всех
    strYes=Да
    strNo=Нет
    strIgnore=Пропустить
    strAbort=Прервать
    strCancel=Отмена
    strOk=ОК
    Плюсы такого формата - обработка в цикле и имена переменных имеют смысловое значение.
     
    3. Привязка к цифре.
    Цитата:
    2=Включена
    8=Выключить
    5=Включить
    Такой метод попробовал, но опять же не смысловые имена переменных.
     
    4. Пример с элементом и всплавыющей подсказкой
    Цитата:
    btErase=|Ластик|Стереть часть рисунка
    btFlood=|Заливка|Залить область

     
    5. Чтение с разделителем TAB
    Цитата:
    List1                &Список
    ListUp                &Вверх
    ListDown            &Вниз

     
    6. Смешанный формат.
     
    Некоторые переменные можно просто изменить, а для интерфейса нужно ещё использовать GUICtrlSetData. Получается, что лучший вариант - 2.

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 20:36 23-06-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Название: Русский справочник по Win 32 API
    Автор: Тарас Сорока
    (chm)
     
    Название: Справочник по Win32 API
    Автор: Мерзляков Николай
    (одним файлом exe)
     
    страничка
    или
    wasm.ru
    _________________
    Регулярные выражения (на русском)
    shtogrin.com
    shop.piter.com
    Html-версия (Дж.Фридл.) с сайта издательства, 375K ба, редакция 1.01, страничка
    wiki.linuxformat.ru

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 02:27 26-06-2010 | Исправлено: AZJIO, 06:02 29-06-2010
    Pleshner



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребята, у кого есть: можете кинуть несколько примеров работы через сабж с Firefox? Как я понял, сАмо просто работать через готовую либу FF.au3.  
     
    Кто-нить может кинуть в меня примерами работы - просто рабочие скрипты чего угодно через FF.au3, нужно очень быстро написать свой скрипт, и что-то с ходу никак не могу въехать что да как там... Спасибо!

    Всего записей: 122 | Зарегистр. 09-11-2005 | Отправлено: 21:25 27-06-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Pleshner
    На офсайте работает поиск, но для этого нужно зарегистрироваться.
    Вобщем прописать её #include <FF.au3>, а функции есть с переводом на русский
    Вот тема. И обязательно проверить совместимость версий AutoIt3 и FF.au3, последняя 0.6 работает с v3.3.0.0.

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 04:19 28-06-2010 | Исправлено: AZJIO, 04:35 28-06-2010
    Dmitri_Andreev

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Друзья помогите пожалуйста.
     
    Имеется строка
    GUICtrlCreateLabel ("Строка с текстом", 20, 30, 0x0000)
    длинна которой увеличивается по мере ее заполнения, можно ли, в процессе выполнения скрипта, получить размер этой строки в пикселях?

    Всего записей: 38 | Зарегистр. 14-07-2009 | Отправлено: 15:37 30-06-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Dmitri_Andreev 15:37 30-06-2010
    Цитата:
    можно ли, в процессе выполнения скрипта, получить размер этой строки в пикселях?

    Можно. В шапке есть ссылка на библиотеку «_GUICtrlCreateTFLabel» (в разделе GUI), а в ней есть функция получения длины строки.

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 15:56 30-06-2010
    djuuj

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте. Вот такая проблемка, мне нужно отправиться на сайт, кликнуть на картинку, вследствие чего откроется НОВОЕ ОКНО браузера, и продолжать работу уже в новом окне. Вот до нового окна всё понятно, а вот как получить доступ к новому окну не имею представления.. Кто знает, подскажите пожалуйста.
    Искал ответ добросовестно, был почти уверен, что это распространённая и уже давно решённая проблема, но пока только нашёл точно такие же вопросы без ответов, или ответы с попытками обойтись старым окном..

    Всего записей: 1 | Зарегистр. 30-06-2010 | Отправлено: 21:50 30-06-2010
    KiLL



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    djuuj
    _IEAttach поможет если вы знаете заголовок окна, урл, текст в теле документа, дескриптор и т.п. В случае с текстовыми элементами совпадение требуется не полное. А еще функция может подключиться к конкретной инстанции открытого браузера по номеру. Вы наверное плохо искали.

    Всего записей: 255 | Зарегистр. 04-05-2003 | Отправлено: 23:47 30-06-2010
    Dmitri_Andreev

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

    Всего записей: 38 | Зарегистр. 14-07-2009 | Отправлено: 16:12 01-07-2010 | Исправлено: Dmitri_Andreev, 16:37 01-07-2010
    AZJIO



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

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 05:19 03-07-2010 | Исправлено: AZJIO, 17:17 09-07-2010
    DSWQ

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

    Всего записей: 11 | Зарегистр. 20-11-2009 | Отправлено: 18:36 05-07-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    DSWQ 18:36 05-07-2010
    Цитата:
     нужно в сторону стилей копать

    Зачем, просто укажите размеры элементов:
     

    Код:
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
     
    FileChangeDir(@DesktopDir)
     
    $hGUI = GUICreate("Test Script", 300, 200)
     
    $nMiniButton = GUICtrlCreateButton("", 20, 40, 12, 12)
    $nMiniCheckBox = GUICtrlCreateCheckbox("", 20, 80, 12, 12)
     
    GUISetState(@SW_SHOW, $hGUI)
     
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                Exit
        EndSwitch
    WEnd


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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 19:29 05-07-2010 | Исправлено: ViSiToR, 19:39 05-07-2010
    DSWQ

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ViSiToR, спасибо, но я, видимо, некорректно задал вопрос - речь о стандартных кнопках управления: "Закрыть", "Развернуть", "Свернуть".
    Просто есть скрипт-приложение с очень маленьким GUI, стандартные кнопки смотрятся некрасиво.
     
     

    Всего записей: 11 | Зарегистр. 20-11-2009 | Отправлено: 20:39 05-07-2010
    DiaBlo90

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем доброго времени суток.
    МБ кто знает как можно сделать окно lineage без рамки?
    Пробовал так

    Код:
    #include <WindowsConstants.au3>
    ;Global Const $L2_WinClass = "[TITLE:Lineage II;Class:l2UnrealWWindowsViewportWindow]";
    $hWindow = WinGetHandle($L2_WinClass)
    WinActivate ($L2_WinClass);
    sleep(1000)
    _WinSetStyle($hWindow)
    Func _WinSetStyle($hWnd)
        DllCall("User32.dll", "int", "SetWindowLong", "hwnd", $hWnd, "int", "GWL_STYLE", "int", 0x14000000)
        DllCall("User32.dll", "int", "SetWindowLong", "hwnd", $hWnd, "int", "GWL_EXSTYLE", "int", 0x0004000)
        DllCall("User32.dll", "int", "SetWindowPos", "hwnd", $hWnd, "hwnd", 0, "int", 0, "int", 0, "int", 800, "int", 600, "int", "SWP_NOZORDER | SWP_FRAMECHANGED")
    EndFunc

     
    На любых окнах работает, но не на ла2(((

    Всего записей: 8 | Зарегистр. 31-05-2010 | Отправлено: 22:02 05-07-2010 | Исправлено: DiaBlo90, 22:03 05-07-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    DSWQ 20:39 05-07-2010
    Цитата:
    речь о стандартных кнопках управления: "Закрыть", "Развернуть", "Свернуть"

    Тогда только так:
     

    Код:
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>
     
    $iWidth = 200
    $iHeight = 150
     
    $hGUI = GUICreate("Tiny GUI", $iWidth, $iHeight, -1, -1, BitOR($WS_POPUP, $WS_BORDER))
     
    $nMinimize_Button = GUICtrlCreateButton("—", $iWidth - 35, 3, 16, 16)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x0000FF)
     
    $nClose_Button = GUICtrlCreateButton("X", $iWidth - 19, 3, 16, 16)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0xFF0000)
     
    GUICtrlCreateLabel("", 0, 0, $iWidth, 22, $WS_CLIPSIBLINGS, BitOR($WS_EX_DLGMODALFRAME, $GUI_WS_EX_PARENTDRAG))
    GUICtrlSetBkColor(-1, 0x9D9DFF)
     
    GUISetState(@SW_SHOW, $hGUI)
     
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE, $nClose_Button
                Exit
            Case $nMinimize_Button
                GUISetState(@SW_MINIMIZE, $hGUI)
        EndSwitch
    WEnd

     
    DiaBlo90 22:02 05-07-2010
    Цитата:
    На любых окнах работает

    Странно, не должно у меня этот пример закрывает окно подставленное в $L2_WinClass.
     
    Вот пример использования WinSetStyle.

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 00:02 06-07-2010
    DiaBlo90

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

    Цитата:
    Странно, не должно  у меня этот пример закрывает окно подставленное в $L2_WinClass.  
     
    Вот пример использования WinSetStyle [?].

     
    Аналогично, на окне ла2 никак не пашет(((

    Всего записей: 8 | Зарегистр. 31-05-2010 | Отправлено: 00:12 06-07-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    DiaBlo90 00:12 06-07-2010
    Цитата:
    на окне ла2 никак не пашет

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

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 17:07 06-07-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Обновил тестовый скрипт "Поиск дубликатов"

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 17:55 06-07-2010 | Исправлено: AZJIO, 20:39 06-07-2010
    DiaBlo90

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

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

     
    А поподробнее можно или ссылочку какую-нить?

    Всего записей: 8 | Зарегистр. 31-05-2010 | Отправлено: 20:01 06-07-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    DiaBlo90 20:01 06-07-2010
    Цитата:
    поподробнее можно

    С помощью «Au3Info Tool» (поставляется вместе с AutoIt) нужно посмотреть стили:

    и проверить:
     

    Код:
    If BitAND($nStyle, $WS_BORDER) = $WS_BORDER Then _WinSetStyle("Title", $WS_POPUPWINDOW)

     
    ну или вообще не проверять, а сразу задать стиль без рамки.
     
    P.S
    Некоторые окна требуют обновления интерфейса, т.ч можно также в конце попробовать обновить окно:
     

    Код:
    _WinAPI_RedrawWindow($hWnd)


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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 23:33 06-07-2010 | Исправлено: ViSiToR, 23:34 06-07-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