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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Обновил list_var_funk.au3, теперь быстрее работает и несколько кнопок добавил.  
    Обновил ещё пару раз, добавил drag-and-drop для каталогов, теперь можно получить список функций скриптов в каталоге, включая подкаталоги. И мелкие исправления.  
     
    zabi757
    Может не стоит мучится со скриптами, проще взять какой нибудь готовый автокликер. Поищи в гугле "Mofiki's Autoclicker Premium v1.0.0.3" и "AutoClickExtreme".

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 23:12 25-10-2010 | Исправлено: AZJIO, 03:40 26-10-2010
    frb_noname

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Говорят (и сам чувствую ), что Autoit может ВСЕ !
    Возможно ли решение такой задачи средствами Autoit :
     
    Получить ip адрес машины, с которой на мой компьютер скопировали произвольный файл в определенную папку. Также получить фактическое время данного события.
     
    Буду благодарен даже просто за указанное направление, в котором можно искать решение задачи. Если, конечно нет уже готовой реализации

    Всего записей: 47 | Зарегистр. 03-11-2008 | Отправлено: 15:29 26-10-2010
    AZJIO



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

    Цитата:
    Получить ip адрес машины, с которой на мой компьютер скопировали произвольный файл в определенную папку
    Посмотреть лог сервера (или просто утилита для парсинга лога). Файл не содержит информацию о том кто его закачивал.

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



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    народ, вопрос есть
    (я нуб полный в этой проге, так частично объяснил мне Zloy_Gelud, но я кой что упустил)
     
    1. Как сделать цвет фона чёрным ?
     
    2. Как поставить и растянуть фоновую картинку ????

    Всего записей: 563 | Зарегистр. 16-03-2009 | Отправлено: 20:27 26-10-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    RW4PIR
    В справке GUISetBkColor, GUICtrlSetBkColor. Картинку вставить сам не пробовал.

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 22:11 26-10-2010
    RW4PIR



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

    Всего записей: 563 | Зарегистр. 16-03-2009 | Отправлено: 22:40 26-10-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Кто знает, как развернуть окно на весь экран но не под панель задач, а до панели задач. При добавлении стиля $WS_MAXIMIZEBOX кнопи становятся спрятанными под панель задач. Можно указать параметры в WM_GETMINMAXINFO, но неизвестно какая будет ширина панели задач на другом компе.

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 00:08 27-10-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AZJIO 00:08 27-10-2010
    Цитата:
    как развернуть окно на весь экран но не под панель задач, а до панели задач

    Т.е поверх неё? $WS_EX_TOPMOST не пробовал?

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

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ViSiToR
    Нет не поверх, а как у всех приложений, чтоб упирались в панель задач а не поверх или под низ. Это при нажатии "максимизировать".  
    Туплю, у меня проблема появилась из-за WM_GETMINMAXINFO. Я добавил в list_var_funk.au3 при разворачивании ограничение по ширине, но при этом кнопки оказались недоступны. Добавил  
    DllStructSetData($tMINMAXINFO, "MaxSizeY", @DesktopHeight-40)  
    -40 это на панель задач. А добится чтоб это автоматически определялось непонятно как. Посмотри list_var_funk.au3 - первый мой пост на этой странице, попробуй максимизировать.

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 00:37 27-10-2010 | Исправлено: AZJIO, 00:55 27-10-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AZJIO 00:37 27-10-2010
    Цитата:
    -40 это на панель задач. А добится чтоб это автоматически определялось непонятно как

    Почему непонятно, панель задача тоже окно:
     

    Код:
    Func WM_GETMINMAXINFO($hWnd, $iMsg, $wParam, $lParam)
     
        Local $aTaskBarPos = WinGetPos("[CLASS:Shell_TrayWnd]")
        ....
            DllStructSetData($tMINMAXINFO, "MaxSizeY", @DesktopHeight-$aTaskBarPos[3])
        ....
    EndFunc

     
    Добавлено:
    Хотя правильнее конечно будет так:
     

    Код:
    Func WM_GETMINMAXINFO($hWnd, $iMsg, $wParam, $lParam)
     
        Local $aWorkArea = _WinAPI_GetWorkingArea()
     
        If $hWnd = $GUI Then
            Local $tMINMAXINFO = DllStructCreate("int;int;" & _
                    "int MaxSizeX; int MaxSizeY;" & _
                    "int MaxPositionX;int MaxPositionY;" & _
                    "int MinTrackSizeX; int MinTrackSizeY;" & _
                    "int MaxTrackSizeX; int MaxTrackSizeY", _
                    $lParam)
            DllStructSetData($tMINMAXINFO, "MinTrackSizeX", 410) ; минимальные размеры окна
            DllStructSetData($tMINMAXINFO, "MinTrackSizeY", 200)
            DllStructSetData($tMINMAXINFO, "MaxPositionX", $aWorkArea[0])
            DllStructSetData($tMINMAXINFO, "MaxPositionY", $aWorkArea[1])
            DllStructSetData($tMINMAXINFO, "MaxSizeX", 600) ; размеры развёрнутого состояния ( просто удали строку, чтоб игнорировать критерий)
            DllStructSetData($tMINMAXINFO, "MaxSizeY", $aWorkArea[3]-$aWorkArea[1])
        EndIf
    EndFunc
     
    Func _WinAPI_GetWorkingArea()
        Local Const $SPI_GETWORKAREA = 48
        Local $stRECT = DllStructCreate("long; long; long; long")
     
        Local $SPIRet = DllCall("User32.dll", "int", "SystemParametersInfo", "uint", $SPI_GETWORKAREA, "uint", 0, "ptr", DllStructGetPtr($stRECT), "uint", 0)
        If @error Then Return 0
        If $SPIRet[0] = 0 Then Return 0
     
        Local $sLeftArea = DllStructGetData($stRECT, 1)
        Local $sTopArea = DllStructGetData($stRECT, 2)
        Local $sRightArea = DllStructGetData($stRECT, 3)
        Local $sBottomArea = DllStructGetData($stRECT, 4)
     
        Local $aRet[4] = [$sLeftArea, $sTopArea, $sRightArea, $sBottomArea]
        Return $aRet
    EndFunc


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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 01:43 27-10-2010 | Исправлено: ViSiToR, 01:53 27-10-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ViSiToR
    Спасибо, работает.
     
    Кстати обновил немного RegExp

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 13:59 27-10-2010
    Zloy_Gelud



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Возможно ли динамическое добавление вкладок объекта Tab с кнопкой, привязанной к этой новой вкладке?

    Всего записей: 3265 | Зарегистр. 30-05-2007 | Отправлено: 14:44 28-10-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Zloy_Gelud 14:44 28-10-2010
    Цитата:
    Возможно ли динамическое добавление вкладок объекта Tab с кнопкой, привязанной к этой новой вкладке?

    Конечно.

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 16:13 28-10-2010
    Sergey_Demchuk



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Может кто уже писал утилитку подобного рода.  
    Нужно изменить дату установки Windows на текущую.
    Сама информация находится в реестре по адресу
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion, параметр InstallDate
    Запись в HEX виде. Если перевести значение в десятичном формате, то полученная цифра будет количеством секунд, прошедших с 1 января 1970 года на момент инсталляции операционной системы.
    Надо значит вычислить в десятичном виде число секунд с 1 января 1970г. по текущий момент, перевести в шестнадцатеричный вид и занести в реестр. И это все скрыто. Может уже просто кто то делал.

    Всего записей: 3551 | Зарегистр. 16-12-2002 | Отправлено: 11:35 29-10-2010
    ynbIpb



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

    Код:
    #Include <Date.au3>
    $sRegKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" ; заносим в переменную ветку реестра
    $iRegVal = RegRead ($sRegKey, "InstallDate") ; читаем значение параметра
    $sCurrTime = _Date_Time_SystemTimeToDateTimeStr (_Date_Time_GetSystemTime(), 1) ; определяем текущее время
    $iNewRegVal = _DateDiff("s", "1970/01/01 00:00:00", $sCurrTime) ; расчитываем новое значение
    msgbox (0, "", "Old value: " & $iRegVal & @CRLF & "New value: " & $iNewRegVal) ; отображаем оба

    как записать данные обратно думаю догадаетесь...
     
     
    --------------------
    Считывал старое значение чисто для демонстрации скрипта.

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 14:46 29-10-2010 | Исправлено: ynbIpb, 15:47 29-10-2010
    Sergey_Demchuk



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    ynbIpb
    Сенкс. А считывать из реестра то вообщем и не надо...главное занести

    Всего записей: 3551 | Зарегистр. 16-12-2002 | Отправлено: 15:22 29-10-2010
    Zloy_Gelud



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как реализоватть на автоите такое, но чтоб только было внутри GUI?

     
    И проблемка с этим кодом. Попробуйте создать 4 или больше пустых вкладки и вернуться на 3. С нее почему пропадают контрлы.

    Всего записей: 3265 | Зарегистр. 30-05-2007 | Отправлено: 10:55 30-10-2010
    gregaz



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

    Всего записей: 79 | Зарегистр. 02-06-2007 | Отправлено: 09:44 31-10-2010 | Исправлено: gregaz, 14:38 31-10-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gregaz
    74, 75 строка - глюк раскраски кода.

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 10:59 31-10-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AZJIO 11:59 31-10-2010
    Цитата:
    74, 75 строка - глюк раскраски кода

    Старая версия Au3ToPost, и лишние теги, видимо добавленные до раскраски.

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 12:18 31-10-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