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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Обновил справку UDFs3.chm (2Мб), ещё 36 страниц, всего 70. Всё теже функции _GUICtrlListView_. Или только переведённые страницы (30кб)

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 21:51 13-07-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    DiaBlo90 19:46 13-07-2010
    Цитата:
    почему при нажатии esc скрипт закрывается?

    Это задаётся опцией «GUICloseOnESC».
     

    Код:
    Opt("GUICloseOnESC", 0)

     
    по умолчанию оно выставлено на 1.

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

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



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

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 01:28 15-07-2010 | Исправлено: AZJIO, 23:39 02-09-2010
    emauzzo



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите пожалуйста наваять простенький скрипт. Что нужно:
    мне часто приходится копипастить из word в autocad, но чтобы не сохранялось форматирование word. Раньше я делал это через стандартный блокнот, но это немного напрягает - много лишних движений. Вот и хотелось бы чтобы скопировал текст по ctrl+с нажал скрипт и он уже "очищен" от форматирования. Можно hotkey конечно сделать.  
    Сам я новичок вообще в программировании.
     

    Код:
    Run ("notepad.exe")
    WinWaitActive ("Безымянный - Блокнот")
    WinMenuSelectItem("Безымянный - Блокнот","","&Правка","Вст&авить    Ctrl+V")
    WinMenuSelectItem("Безымянный - Блокнот","","&Правка","Выделить в&се    Ctrl+A")
    WinMenuSelectItem("Безымянный - Блокнот","","&Правка","&Копировать    Ctrl+C")
    WinClose("Безымянный - Блокнот")
    ControlClick("Блокнот","Текст в файле Безымянный был и","Button2")


    Всего записей: 152 | Зарегистр. 27-10-2008 | Отправлено: 07:11 15-07-2010 | Исправлено: emauzzo, 07:32 15-07-2010
    ynbIpb



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    emauzzo, что-то типа этого?

    Код:
    HotKeySet ( "{HOME}", "_text"); горячая клавиша HOME
     
    While 1 ; бесконечный цикл
        sleep(100)
    WEnd
     
    Func
    _text() ; функция, выполняется при нажатии на кнопку HOME
        $wordtext = ClipGet ( ) ; читаем текст из буфера обмена
        If $wordtext = "" Then Return ; если в буфере пусто, то возвращаемся из функции
        $wordtext = String ($wordtext) ; переобразовываем в строку
        ClipPut ($wordtext); вставляем в буфер обмена
    EndFunc


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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Обнаружил, что в скрипте "Калькулятор" использование стиля для кнопок цифр тормозит реакцию на событие нажатия. Другими словами двойной клик не вводит две цифры. Если отключить стили, то реакция увеличивается и двойной клик успевает ввести две цифры.

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 14:23 15-07-2010 | Исправлено: AZJIO, 14:46 15-07-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AZJIO 14:23 15-07-2010
    Цитата:
    в скрипте "Калькулятор" использование стиля для кнопок цифр тормозит реакцию на событие нажатия

    Какой конкретно стиль?

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

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ViSiToR
    GUICtrlSetBkColor (-1, 0 )
    GUICtrlSetColor (-1, 0xffffff)
     
    чёрная кнопка с белым текстом.

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 15:13 15-07-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AZJIO 15:13 15-07-2010
    Цитата:
    чёрная кнопка с белым текстом

    Это известная проблема, в этом случае кнопка обрабатывается почти как Label (у него таже проблема), и двойной клик организовать не так просто.

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

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



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Написал UDF'ку, аналог FileFindFirstFile() и  FileFindNextFile() с поиском по подкаталогам.
    Подробнее...

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 02:21 19-07-2010 | Исправлено: NIKZZZZ, 20:06 19-07-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ
    А может добавить параметры для функции.
    Я к предыдущей версии этой функции прикрутил поиск типов файлов, поиск каталогов, глубину вложенности поиска.
    Подробнее...

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



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AZJIO
    Ну, все прикручивать излишне, а вот отдельный поиск файлов и каталогов я добавил, предыдущий пост исправил.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 21:08 19-07-2010
    Dmitri_Andreev

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Привет всем.
    Может кто-нибудь знает более удобный способ получения списка сетевых подключений, кроме как анализировать текст ipconfig?

    Всего записей: 38 | Зарегистр. 14-07-2009 | Отправлено: 17:25 21-07-2010 | Исправлено: Dmitri_Andreev, 17:29 21-07-2010
    Orion_76



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

    Код:
    ; Generated by AutoIt Scriptomatic
     
    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    $strComputer = "localhost"
     
    $Output=""
    $Output = $Output & "Computer: " & $strComputer  & @CRLF
    $Output = $Output & "==========================================" & @CRLF
    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration", "WQL", _
                                              $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
     
    If IsObj($colItems) then
       For $objItem In $colItems
          $Output = $Output & "ArpAlwaysSourceRoute: " & $objItem.ArpAlwaysSourceRoute & @CRLF
          $Output = $Output & "ArpUseEtherSNAP: " & $objItem.ArpUseEtherSNAP & @CRLF
          $Output = $Output & "Caption: " & $objItem.Caption & @CRLF
          $Output = $Output & "DatabasePath: " & $objItem.DatabasePath & @CRLF
          $Output = $Output & "DeadGWDetectEnabled: " & $objItem.DeadGWDetectEnabled & @CRLF
          $strDefaultIPGateway = $objItem.DefaultIPGateway(0)
          $Output = $Output & "DefaultIPGateway: " & $strDefaultIPGateway & @CRLF
          $Output = $Output & "DefaultTOS: " & $objItem.DefaultTOS & @CRLF
          $Output = $Output & "DefaultTTL: " & $objItem.DefaultTTL & @CRLF
          $Output = $Output & "Description: " & $objItem.Description & @CRLF
          $Output = $Output & "DHCPEnabled: " & $objItem.DHCPEnabled & @CRLF
          $Output = $Output & "DHCPLeaseExpires: " & WMIDateStringToDate($objItem.DHCPLeaseExpires) & @CRLF
          $Output = $Output & "DHCPLeaseObtained: " & WMIDateStringToDate($objItem.DHCPLeaseObtained) & @CRLF
          $Output = $Output & "DHCPServer: " & $objItem.DHCPServer & @CRLF
          $Output = $Output & "DNSDomain: " & $objItem.DNSDomain & @CRLF
          $strDNSDomainSuffixSearchOrder = $objItem.DNSDomainSuffixSearchOrder(0)
          $Output = $Output & "DNSDomainSuffixSearchOrder: " & $strDNSDomainSuffixSearchOrder & @CRLF
          $Output = $Output & "DNSEnabledForWINSResolution: " & $objItem.DNSEnabledForWINSResolution & @CRLF
          $Output = $Output & "DNSHostName: " & $objItem.DNSHostName & @CRLF
          $strDNSServerSearchOrder = $objItem.DNSServerSearchOrder(0)
          $Output = $Output & "DNSServerSearchOrder: " & $strDNSServerSearchOrder & @CRLF
          $Output = $Output & "DomainDNSRegistrationEnabled: " & $objItem.DomainDNSRegistrationEnabled & @CRLF
          $Output = $Output & "ForwardBufferMemory: " & $objItem.ForwardBufferMemory & @CRLF
          $Output = $Output & "FullDNSRegistrationEnabled: " & $objItem.FullDNSRegistrationEnabled & @CRLF
          $strGatewayCostMetric = $objItem.GatewayCostMetric(0)
          $Output = $Output & "GatewayCostMetric: " & $strGatewayCostMetric & @CRLF
          $Output = $Output & "IGMPLevel: " & $objItem.IGMPLevel & @CRLF
          $Output = $Output & "Index: " & $objItem.Index & @CRLF
          $strIPAddress = $objItem.IPAddress(0)
          $Output = $Output & "IPAddress: " & $strIPAddress & @CRLF
          $Output = $Output & "IPConnectionMetric: " & $objItem.IPConnectionMetric & @CRLF
          $Output = $Output & "IPEnabled: " & $objItem.IPEnabled & @CRLF
          $Output = $Output & "IPFilterSecurityEnabled: " & $objItem.IPFilterSecurityEnabled & @CRLF
          $Output = $Output & "IPPortSecurityEnabled: " & $objItem.IPPortSecurityEnabled & @CRLF
          $strIPSecPermitIPProtocols = $objItem.IPSecPermitIPProtocols(0)
          $Output = $Output & "IPSecPermitIPProtocols: " & $strIPSecPermitIPProtocols & @CRLF
          $strIPSecPermitTCPPorts = $objItem.IPSecPermitTCPPorts(0)
          $Output = $Output & "IPSecPermitTCPPorts: " & $strIPSecPermitTCPPorts & @CRLF
          $strIPSecPermitUDPPorts = $objItem.IPSecPermitUDPPorts(0)
          $Output = $Output & "IPSecPermitUDPPorts: " & $strIPSecPermitUDPPorts & @CRLF
          $strIPSubnet = $objItem.IPSubnet(0)
          $Output = $Output & "IPSubnet: " & $strIPSubnet & @CRLF
          $Output = $Output & "IPUseZeroBroadcast: " & $objItem.IPUseZeroBroadcast & @CRLF
          $Output = $Output & "IPXAddress: " & $objItem.IPXAddress & @CRLF
          $Output = $Output & "IPXEnabled: " & $objItem.IPXEnabled & @CRLF
          $strIPXFrameType = $objItem.IPXFrameType(0)
          $Output = $Output & "IPXFrameType: " & $strIPXFrameType & @CRLF
          $Output = $Output & "IPXMediaType: " & $objItem.IPXMediaType & @CRLF
          $strIPXNetworkNumber = $objItem.IPXNetworkNumber(0)
          $Output = $Output & "IPXNetworkNumber: " & $strIPXNetworkNumber & @CRLF
          $Output = $Output & "IPXVirtualNetNumber: " & $objItem.IPXVirtualNetNumber & @CRLF
          $Output = $Output & "KeepAliveInterval: " & $objItem.KeepAliveInterval & @CRLF
          $Output = $Output & "KeepAliveTime: " & $objItem.KeepAliveTime & @CRLF
          $Output = $Output & "MACAddress: " & $objItem.MACAddress & @CRLF
          $Output = $Output & "MTU: " & $objItem.MTU & @CRLF
          $Output = $Output & "NumForwardPackets: " & $objItem.NumForwardPackets & @CRLF
          $Output = $Output & "PMTUBHDetectEnabled: " & $objItem.PMTUBHDetectEnabled & @CRLF
          $Output = $Output & "PMTUDiscoveryEnabled: " & $objItem.PMTUDiscoveryEnabled & @CRLF
          $Output = $Output & "ServiceName: " & $objItem.ServiceName & @CRLF
          $Output = $Output & "SettingID: " & $objItem.SettingID & @CRLF
          $Output = $Output & "TcpipNetbiosOptions: " & $objItem.TcpipNetbiosOptions & @CRLF
          $Output = $Output & "TcpMaxConnectRetransmissions: " & $objItem.TcpMaxConnectRetransmissions & @CRLF
          $Output = $Output & "TcpMaxDataRetransmissions: " & $objItem.TcpMaxDataRetransmissions & @CRLF
          $Output = $Output & "TcpNumConnections: " & $objItem.TcpNumConnections & @CRLF
          $Output = $Output & "TcpUseRFC1122UrgentPointer: " & $objItem.TcpUseRFC1122UrgentPointer & @CRLF
          $Output = $Output & "TcpWindowSize: " & $objItem.TcpWindowSize & @CRLF
          $Output = $Output & "WINSEnableLMHostsLookup: " & $objItem.WINSEnableLMHostsLookup & @CRLF
          $Output = $Output & "WINSHostLookupFile: " & $objItem.WINSHostLookupFile & @CRLF
          $Output = $Output & "WINSPrimaryServer: " & $objItem.WINSPrimaryServer & @CRLF
          $Output = $Output & "WINSScopeID: " & $objItem.WINSScopeID & @CRLF
          $Output = $Output & "WINSSecondaryServer: " & $objItem.WINSSecondaryServer & @CRLF
          if Msgbox(1,"WMI Output",$Output) = 2 then ExitLoop
          $Output=""
       Next
    Else
       Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_NetworkAdapterConfiguration" )
    Endif
     
     
    Func WMIDateStringToDate($dtmDate)
     
        Return (StringMid($dtmDate, 5, 2) & "/" & _
        StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _
        & " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate,13, 2))
    EndFunc


    Всего записей: 386 | Зарегистр. 02-11-2007 | Отправлено: 22:44 21-07-2010
    Dmitri_Andreev

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Orion_76
    Огромное спасибо за ответ, этот пример мне пригодится в будущим, но я имел ввиду немного другое,   наверно неудачно мысль изложил. Нужно получить имена сетевых подключений (Подключение по локальной сети, Подключение по локальной сети 2, имена PPP, PPPoE, VPN соединений).

    Всего записей: 38 | Зарегистр. 14-07-2009 | Отправлено: 14:20 22-07-2010
    Senza

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

    Всего записей: 4 | Зарегистр. 22-07-2010 | Отправлено: 14:23 22-07-2010
    Orion_76



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

    Цитата:
    Подключение по локальной сети, Подключение по локальной сети 2, имена PPP, PPPoE, VPN соединений

    т.е. Имена ярлыков папки Сетевые подключения?

    Всего записей: 386 | Зарегистр. 02-11-2007 | Отправлено: 19:04 22-07-2010
    kpuk



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

    ----------
    Мой дед говорил ''делай добро и бросай его в воду,
    Оно не пропадёт, добром к тебе вернётся...''

    Дружественный хостинг. Мой выбор!

    Всего записей: 1099 | Зарегистр. 07-03-2004 | Отправлено: 21:58 22-07-2010 | Исправлено: kpuk, 22:00 22-07-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Обновил калькулятор (третий пост сверху), добавлена расширенная память (9 ячеек) и автосохранение памяти и позиции окна. Все операции доступны с клавиатуры. Добавил алгоритм повтора последней операции, т.е. если вы делите на 2, то повторное нажатие "Вычислить" опять делит число на 2.

    Всего записей: 4411 | Зарегистр. 03-05-2006 | Отправлено: 02:13 23-07-2010
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Dmitri_Andreev,
    Так у меня показывает все ярлыки папки "Сетевые подключения" (Windows XP SP3):
    Код:
    #include <GuiListView.au3>
    #include <Array.au3>
     
    Opt("WinWaitDelay", 0)
     
    Local $sTitle = "Сетевые подключения", $hListView, $iNumber, $sName
     
    Run("control ncpa.cpl")
    ;ShellExecute("::{7007ACC7-3202-11D1-AAD2-00805FC1270E}")
    WinWait($sTitle)
    If Not WinActive($sTitle) Then WinActivate($sTitle)
    WinWaitActive($sTitle)
    WinSetState($sTitle, "", @SW_MINIMIZE)
    $hListView = ControlGetHandle($sTitle, "", "[CLASS:SysListView32; INSTANCE:1]")
    $iNumber = _GUICtrlListView_GetItemCount($hListView)
    Dim $aNetwork[$iNumber + 1]
    For $i = 0 To $iNumber - 1
        $sName = _GUICtrlListView_GetItemText($hListView, $i)
        $aNetwork[$i + 1] = $sName
    Next
    $aNetwork[0] = UBound($aNetwork) - 1
    WinClose($sTitle)
    _ArrayDisplay($aNetwork)


    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 09:01 23-07-2010 | Исправлено: madmasles, 09:04 23-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