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

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



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AZJIO
    Посмотри в ToDoIt - Менеджер задач, я там сделал неплохую напоминалку.

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 14:39 26-12-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ViSiToR
    Что-то не могу воспроизвести. Хоть бы какие намёки-подсказки в настройках к кнопкам.
    Пометка Yesterday для чего? Похожее по смыслу "Напоминание > Ежедневно". Если ставлю галочку, то наверно применить к использованию, хотя понятней если бы была колонка вкл/выкл. Для чего "Прогресс", "Приоритет". И устанавливается ли интервал между опросами, с учётом того что время может быть переведено назад (WM_TIMECHANGE). Есть ли возможность выдавать сообщения типа "Сегодня нет активных напоминаний, выгрузить программу?"

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 01:20 27-12-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AZJIO 01:20 27-12-2010
    Цитата:
    Пометка Yesterday для чего?

    Это просто пометка, типа вчера было сделано, список пометок можно править.
     

    Цитата:
    Для чего "Прогресс", "Приоритет"

    Для установки прогресса и приоритета, ты никогда не работал с менеджерами заданий?
     

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

    Нет.
     

    Цитата:
     Есть ли возможность выдавать сообщения типа "Сегодня нет активных напоминаний, выгрузить программу?"

    Нет. А зачем?

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

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ViSiToR
    Кнопку "тест" нужно, а то поставил время, время пришло, ничего не происходит. А так тест сделал, и с уверенностью свернул. Всё нажимал, все настройки перепробовал, не помогает.

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 02:33 27-12-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AZJIO 02:33 27-12-2010
    Цитата:
    время пришло, ничего не происходит

    Какая система?

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

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ViSiToR
    WinXP
    ____________
    обновил архив скриптов.
    Благодаря snoitaleR обновил свой вариант GoogleTranslator. Проблема крылась в том, что возвращаемая кодировка страницы у меня KOI8-R, а snoitaleR - 1251 (подправил регул. выраж. и проверку текста)
    Также в Icon_of_folder добавлена функция _RebuildShellIconCache - обновления кэша иконок после изменения.

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

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите с реализацией сохранения данных из ListView в ini файл.

    Всего записей: 68 | Зарегистр. 11-11-2009 | Отправлено: 02:31 30-12-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MoBiRo
    Читай в справке ControlListView > GetSelected > GetText
    А иногда лучше хранить данные ListView в массиве, в первой колонке ID, в последующих согласно колонкам ListView.

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 06:18 30-12-2010
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MoBiRo,
    На примере Диспетчера задач Windows:
    Код:
    $sTitle = 'Диспетчер задач Windows'
    $sControl = 'SysListView321'
    $sIniFile = @ScriptDir & '\Test.ini'
    Run('taskmgr')
    $hHandle = WinWait($sTitle, '', 3)
    If Not $hHandle Then Exit
    $iCurrentTab = ControlCommand($hHandle, '', 'SysTabControl321', 'CurrentTab', '')
    If @error Then Exit
    If $iCurrentTab <> 2 Then
        Switch $iCurrentTab
            Case 1
                ControlCommand($hHandle, '', 'SysTabControl321', 'TabRight', '')
                If @error Then Exit
            Case Else
                For $i = 1 To $iCurrentTab - 2
                    ControlCommand($hHandle, '', 'SysTabControl321', 'TabLeft', '')
                    If @error Then Exit
                Next
        EndSwitch
        Sleep(100)
    EndIf
     
    $iCount_Item = ControlListView($hHandle, '', $sControl, 'GetItemCount')
    If @error Then Exit
    $iCount_SubItem = ControlListView($hHandle, '', $sControl, 'GetSubItemCount')
    If @error Then Exit
    Dim $aResult[$iCount_Item][2]
    For $i = 0 To $iCount_Item - 1
        $aResult[$i][0] = ControlListView($hHandle, '', $sControl, 'GetText', $i, 0)
        If @error Then Exit
        For $j = 1 To $iCount_SubItem - 1
            If $j <> $iCount_SubItem - 1 Then
                $aResult[$i][1] &= ControlListView($hHandle, '', $sControl, 'GetText', $i, $j) & ','
                If @error Then Exit
            Else
                $aResult[$i][1] &= ControlListView($hHandle, '', $sControl, 'GetText', $i, $j) & '.'
                If @error Then Exit
            EndIf
        Next
    Next
    IniWriteSection($sIniFile, $sControl, $aResult, 0)
    ;WinClose($hHandle)

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 09:02 30-12-2010 | Исправлено: madmasles, 10:30 30-12-2010
    THE GUILTY GOD



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем здрасте!! и всех с наступаающим!!!
    Помогите пожалста!!
    Я пользуюсь прогой ScriptWriter всё записывает отлично но вот только, она ещё записывает и координаты движения мышы , так что если окна запустили не в том положение, в котором я их записал то некоторые части текста невыделяются и некопируются, как можно сделать так чтобы не по координатам двигалась мышь, а по тем кнопкам которые я нажимаю!!
    Если надо скину скрипт.
    Зарание Спасибо!!

    Всего записей: 165 | Зарегистр. 24-06-2010 | Отправлено: 19:13 30-12-2010 | Исправлено: THE GUILTY GOD, 19:31 30-12-2010
    MoBiRo

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

    Цитата:
    MoBiRo  
    Читай в справке ControlListView > GetSelected > GetText  
    А иногда лучше хранить данные ListView в массиве, в первой колонке ID, в последующих согласно колонкам ListView.

     
    Щас гляну и напишу если чего не пойму) Я вот тоже хотел перебрать весь ListView циклом for где последовательно перебираются индефикаторы строк и забить данные каждой строки в файл, но я не знаю как узнать сколько всего строк в ListView. Ведь в for $i=0 to X надо знать этот самый X - сколько всего строк в ListView. А так же надо знать индефикаторах строк. И еще одна загвоздка в том, что если ты удалишь одну из строк, то у тебя будет дыра в индефикаторах. Например, будет идти: 1, 2, 3, 5, 6... Четвертую строку мы удалили же) В общем, кошмар.
    Щас почитаю хелп, вчера я там ничего дельного не нашел.
     
    Добавлено:
    Ага, спасибо, как раз то, что я искал. И как же я этого вчера не заметил? =)

    Всего записей: 68 | Зарегистр. 11-11-2009 | Отправлено: 23:36 30-12-2010 | Исправлено: MoBiRo, 01:05 31-12-2010
    ynbIpb



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

    Цитата:
    как можно сделать так чтобы не по координатам двигалась мышь, а по тем кнопкам которые я нажимаю!!

    Нужно писать скрипт руками.
    используя команды ControlClick, ControlGetText и т.д.

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 09:11 31-12-2010
    madmasles

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

    Цитата:
    Я пользуюсь прогой ScriptWriter всё записывает отлично но вот только, она ещё записывает и координаты движения мышы , так что если окна запустили не в том положение, в котором я их записал то некоторые части текста невыделяются и некопируются, как можно сделать так чтобы не по координатам двигалась мышь, а по тем кнопкам которые я нажимаю!!
    Вот Вам простой скрипт. После его запуска нужно кликнуть средней кнопкой мыши по интересующему Вас окну (активировать его). Скрипт сохранит в файл test.txt рядом с собой все данные об окне и его элементах, которые найдет. Эти данные можно будет использовать, например, в функциях Control*(). По кнопке Esc - выход.

    Код:
    #include <WinAPIEx.au3>
    #include <Misc.au3>
     
    Opt('MustDeclareVars', 1)
    Opt('TrayMenuMode', 1)
     
    Global $dll, $hHandle, $sTitle, $aData, $sFile = @ScriptDir & '\test.txt', $hFile, $sMessage
     
    HotKeySet('{Esc}', '_Exit')
     
    $dll = DllOpen("user32.dll")
    ToolTip('Кликните средней кнопкой мыши по окну,' & @CRLF & 'чтобы получить данные о нем.' & @CRLF & _
            'Или нажмите "Esc" для выхода.', 0, 0, 'Элементы окна', 1, 1)
    _WinAPI_EmptyWorkingSet()
     
    While 1
        If _IsPressed('04', $dll) Then
            Sleep(250)
            $hHandle = WinGetHandle('[ACTIVE]')
            ExitLoop
        EndIf
        Sleep(10)
    WEnd
     
    If Not IsHWnd($hHandle) Then
        MsgBox(16, 'error', 'error')
        _Exit()
    EndIf
    $sTitle = WinGetTitle($hHandle)
    $aData = _WinAPI_EnumChildWindows($hHandle)
    If @error Then
        MsgBox(16, 'error', 'error')
        _Exit()
    EndIf
    ReDim $aData[$aData[0][0] + 1][4]
     
    For $i = 1 To $aData[0][0]
        $aData[$i][2] = _WinAPI_GetDlgCtrlID($aData[$i][0])
        If $aData[$i][2] Then
            $aData[$i][3] = ControlGetText($hHandle, '', $aData[$i][2])
        EndIf
    Next
     
    $hFile = FileOpen($sFile, 2)
    If $hFile <> -1 Then
        FileWrite($hFile, 'Заголовок окна: ' & $sTitle & @CRLF & @CRLF & _
                'Управляющие элементы окна (Controls): ' & @CRLF & @CRLF)
        For $i = 1 To $aData[0][0]
            $sMessage = $i & '.' & @CRLF & 'Class: ' & $aData[$i][1] & @CRLF & 'ID: ' & $aData[$i][2] & _
                    @CRLF & 'Text: ' & $aData[$i][3] & @CRLF & @CRLF
            FileWrite($hFile, $sMessage)
        Next
        FileClose($hFile)
        ToolTip('', '')
        TrayTip('Элементы окна', 'Найдено ' & $aData[0][0] & ' элементов.' & @CRLF & _
                'Данные сохранены в файл:' & @CRLF & '"' & $sFile & '"', 5, 1)
        Sleep(5000)
        _Exit()
    Else
        MsgBox(16, 'error', 'error')
        _Exit()
    EndIf
     
    Func _Exit()
        DllClose($dll)
        Exit
    EndFunc   ;==>_Exit

    Библиотеку WinAPIEx.au3 можно скачать здесь и положить ее или в ...\AutoIt3\Include, или в папку со скриптом.

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 17:05 31-12-2010 | Исправлено: madmasles, 19:24 31-12-2010
    Black666angel



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть-ли Decompile .exe to Script поддерж v3.2.1x.x дайте сылку

    Всего записей: 148 | Зарегистр. 05-09-2010 | Отправлено: 00:03 02-01-2011
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Black666angel 00:03 02-01-2011
    Цитата:
    Есть-ли Decompile .exe to Script поддерж v3.2.1x.x

    Он есть в составе пакета AutoIt этой версий, лежит тут.

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 00:38 02-01-2011
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Утилита создания тем для скайта.
    Обновлено 9 раз. Увеличен размер шрифта в боксе, перераспределение элементов в окне.

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 14:15 03-01-2011 | Исправлено: AZJIO, 11:29 05-01-2011
    Black666angel



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

    Цитата:
    Он есть в составе пакета AutoIt этой версий, лежит тут.

    Сылка не работает, перезалейте плиз.

    Всего записей: 148 | Зарегистр. 05-09-2010 | Отправлено: 21:07 03-01-2011
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Black666angel 21:07 03-01-2011
    Цитата:
    Сылка не работает

    Это просто форум лежит. У меня вроде нет на компьютере этой версий...
     
    Добавлено:
    Black666angel 21:07 03-01-2011
    Цитата:
    перезалейте плиз

    Вот отдельно утилита Exe2Aut.

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 22:35 03-01-2011 | Исправлено: ViSiToR, 03:05 17-01-2011
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ViSiToR
    Посмотри утилиту "создания тем для скайта" на два поста выше... Интересует есть ли возможность сделать парсинг кода используя SciLexer.dll или Au3SyntaxHighlight.au3?
    Нужно не обрамлять код тегами, а получить позиции начала и конца, чтоб далее раскрасить.

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 19:33 04-01-2011
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AZJIO 19:33 04-01-2011
    Цитата:
    Нужно не обрамлять код тегами, а получить позиции начала и конца, чтоб далее раскрасить.

    Позиций чего?

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 23:19 04-01-2011
       

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