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

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



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Да, первый оптимизированный вариант мне подходит. Спасибо.
    Второй нет, так как максимальное количество байт 2047
    Просто я думал, может есть совсем иные способы, значит я выбрал правильный путь.

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



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

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 06:30 06-06-2010 | Исправлено: AZJIO, 05:51 16-10-2014
    degid



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    есть скрипт на vbscript (меняет IP на локальном компьютере):

    Код:
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colNetAdapters = objWMIService.ExecQuery _
        ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
    strIPAddress = Array("192.168.0.141")
    strSubnetMask = Array("255.255.255.0")
    strGateway = Array("192.168.0.100")
    strGatewayMetric = Array(1)
    For Each objNetAdapter in colNetAdapters
        errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
        errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
        If errEnable = 0 Then
            WScript.Echo "The IP address has been changed."
        Else
            WScript.Echo "The IP address could not be changed."
        End If
    Next

    в общем, при переделывании наткнулся на такую фишку, там переменным strIPAddress, strSubnetMask, strGateway значение присваивается через Array... типа Array("255.255.255.0")... Есть что-то подобное в AutoIT? или как-то ещё может можно сделать...
     
    Добавлено:
    делюсь: Скрипт меняет имя компьютера:

    Код:
    Func CompReName($strComputerNewName)
        Local $objNetwork, $objWMIService, $collComputers, $objComputer
        $objNetwork = ObjCreate("WScript.Network")
        $strComputerCurrName = $objNetwork.ComputerName
        If StringLen($strComputerNewName) <> 0 Then
            $objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $strComputerCurrName & "\root\cimv2")
            $collComputers = $objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem")
            For $objComputer in $collComputers
                $objComputer.Rename($strComputerNewName)
            Next
        EndIf
    EndFunc

    Всего записей: 31 | Зарегистр. 26-10-2006 | Отправлено: 18:29 08-06-2010 | Исправлено: degid, 18:30 08-06-2010
    Kar1son

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

    Цитата:
    Array("255.255.255.0")

    может имеется в виду массив символов? (string = array (Char) ) тогда просто присвоение strIPAddress = "192.168.0.141"

    Всего записей: 187 | Зарегистр. 23-08-2006 | Отправлено: 08:57 09-06-2010
    degid



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ругается тогда:
     "TLine 11  (File "ip.au3"):
    $errEnable = $objNetAdapter.EnableStatic($strIPAddress, $strSubnetMask)
    $errEnable = $objNetAdapter.EnableStatic($strIPAddress, $strSubnetMask)^ ERROR
    Error: The requested action with this object has failed."......

    Код:
    $strComputer = "."
    $objWMIService = ObjGet("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")
    $colNetAdapters = $objWMIService.ExecQuery _
        ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
    $strIPAddress = "192.168.0.141"
    $strSubnetMask = "255.255.255.0"
    $strGateway = "192.168.0.254"
    $strGatewayMetric = 1
    For $objNetAdapter in $colNetAdapters
        $errEnable = $objNetAdapter.EnableStatic($strIPAddress, $strSubnetMask)
        $errGateways = $objNetAdapter.SetGateways($strGateway, $strGatewaymetric)
        If $errEnable = 0 Then
        MsgBox(4096,"-", "The IP address has been changed.")
        Else
        MsgBox(4096,"-", "The IP address could not be changed.")
        EndIf
    Next

    Всего записей: 31 | Зарегистр. 26-10-2006 | Отправлено: 11:46 09-06-2010 | Исправлено: degid, 12:09 09-06-2010
    Kar1son

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Посмотрел в скриптоматике, не нашел метода "$objNetAdapter.EnableStatic" (WinXP 32 SP3)

    Код:
    ; 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

    Всего записей: 187 | Зарегистр. 23-08-2006 | Отправлено: 12:27 09-06-2010
    degid



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

    Всего записей: 31 | Зарегистр. 26-10-2006 | Отправлено: 13:04 09-06-2010
    Kar1son

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    degid
    ты же только что говорил что ошибка?

    Всего записей: 187 | Зарегистр. 23-08-2006 | Отправлено: 14:00 09-06-2010
    degid



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    он ругается если его переделать полностью на AutoIT, сам vbs скрипт рабочий... Всунул его вот так:

    Код:
    $ProcessName = "AutoIt3.exe"
    $RetArr = _ProcessExistsVbs($ProcessName, "192.168.0.14")
    If IsArray($RetArr) Then MsgBox(64, "", "Process <" & $RetArr[1] & "> exists." & @LF & @LF & _
        "The returned PID is: " & $RetArr[2] & @LF & @LF & _
        "Returned Executable Path is: " & @LF & $RetArr[3] & @LF & @LF & _
        "Command Line of executed process is: " & @LF & $RetArr[4])
     
    Func _ProcessExistsVbs($ProcName, $ip)
         Local $Code = ""
        $Code &= 'Function ProcessExists(ProcessName)' & @LF
        $Code &= 'On Error Resume Next' & @LF
        $Code &= 'strComputer = "."' & @LF
        $Code &= 'Set objWMIService = GetObject("winmgmts:" _' & @LF
        $Code &= '& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")' & @LF
        $Code &= 'Set colNetAdapters = objWMIService.ExecQuery _' & @LF
        $Code &= '("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")' & @LF
        $Code &= 'strIPAddress = Array("' & $ip & '")' & @LF
        $Code &= 'strSubnetMask = Array("255.255.255.0")' & @LF
        $Code &= 'strGateway = Array("192.168.0.254")' & @LF
        $Code &=  'strGatewayMetric = Array(1)' & @LF
        $Code &=  'For Each objNetAdapter in colNetAdapters' & @LF
        $Code &=  'errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)' & @LF
        $Code &=  'errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)' & @LF
        $Code &=  'Next' & @LF
        $Code &= 'End Function'
     
        Local $VbsObj = ObjCreate("ScriptControl")
        If @error Then Return SetError(1, 0, -1)
        $VbsObj.Language = "vbscript"
    $VbsObj.AddCode($Code)
        Local $RetArr = $VbsObj.[i]Run[/i]("ProcessExists", $ProcName)
        If $RetArr = 0 Then Return SetError(0, 0, 0)
        Return $RetArr
    EndFunc

    в общем, пока так оставлю
     
    Добавлено:
    Ура!!! Оказывается существует файл Array.au3! там есть _ArrayCreate.

    Код:
    #include <Array.au3>
    $strIPAddress = _ArrayCreate("192.168.0.141")

    и всё ок

    Всего записей: 31 | Зарегистр. 26-10-2006 | Отправлено: 14:21 09-06-2010 | Исправлено: degid, 14:24 09-06-2010
    XpycTMD

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    degid
    Цитата:
    Ура!!! Оказывается существует файл Array.au3! там есть _ArrayCreate.

    Попробуй заменить
    Код:
    #include <Array.au3>
    $strIPAddress = _ArrayCreate("192.168.0.141")
     

    вот на это
    Код:
    Dim $strIPAddress[1] = ["192.168.0.141"]

    Всего записей: 120 | Зарегистр. 17-01-2006 | Отправлено: 17:40 09-06-2010 | Исправлено: XpycTMD, 17:44 09-06-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Kar1son
    Немного пример упрощённой записи

    Цитата:
    $Output = "ArpAlwaysSourceRoute: " & $objItem.ArpAlwaysSourceRoute & @CRLF & _
    "ArpUseEtherSNAP: " & $objItem.ArpUseEtherSNAP & @CRLF & _
    "Caption: " & $objItem.Caption & @CRLF & _
    "DatabasePath: " & $objItem.DatabasePath & @CRLF & _
    "DeadGWDetectEnabled: " & $objItem.DeadGWDetectEnabled & @CRLF & _

     
    смысл в том, что любые многостроковые данные можно указать одной строкой, переходы строк в данном случае выплняют @CRLF. Но так как запись в одну строку неудобно читается, то выполняем перенос кода с помощью символа нижнего подчёркивания. В итоге вместо многократного объединения данных происходит просто один раз вставка данных в переменную $Output.
    Способ добавления точно также

    Цитата:
    $Output &= "ArpAlwaysSourceRoute: " & $objItem.ArpAlwaysSourceRoute & @CRLF & _
    "ArpUseEtherSNAP: " & $objItem.ArpUseEtherSNAP & @CRLF & _
    "Caption: " & $objItem.Caption & @CRLF & _
    "DatabasePath: " & $objItem.DatabasePath & @CRLF & _
    "DeadGWDetectEnabled: " & $objItem.DeadGWDetectEnabled & @CRLF & _

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 12:31 10-06-2010 | Исправлено: AZJIO, 12:37 10-06-2010
    Kar1son

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AZJIO
    я знаю) тот код не я писал, это скриптоматик выдал "; Generated by AutoIt Scriptomatic"

    Всего записей: 187 | Зарегистр. 23-08-2006 | Отправлено: 12:40 10-06-2010
    drmodjo84

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нужно чтобы скрипт с эмулировал нажатие правой мыши на файле,затем в свойства и установил галки на совместимости  правах доступа и операционки.Но при этом нужна конкретность,без использования координатов и названий типа "Свойства".Файл будет использоваться на разных машинах с операционкой "Семерка".
    Я новичек и не могу заставить скрипт попасть на файл правой клавой.Объясните подробно плиз.

    Всего записей: 3 | Зарегистр. 11-06-2010 | Отправлено: 21:59 11-06-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    drmodjo84
    Попробуй лучше клавишами используя Send
    Alt+Enter - открываем окно свойств exe-файла
    Ctrl+Tab - перемещение по вкладкам 2 раза
    space - пробел - ставим галочку
    Tab - переход к элементу списка
    стрелка вниз - выбор совместимой системы
    Enter - применить
     
    скрипт можно прописать в реестр для файлов exe или использовать горячую клавишу, но тогда он будет всегда висеть в процессах.
     
    ________________________________  
     
    Есть у кого нибудь пример автоматического скролинга строк текста нужен для диалога "О программе". Случайно скачал утилиту (370кб), понравилась плавное движение текста.

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 06:39 12-06-2010 | Исправлено: AZJIO, 08:28 12-06-2010
    drmodjo84

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Можете привести пример скрипта .Как начать?Как правильно указать на файл который должен использоваться скриптом send?

    Всего записей: 3 | Зарегистр. 11-06-2010 | Отправлено: 07:25 12-06-2010
    AZJIO



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

    Цитата:
    ;Регистрация в контекстное меню
    RegRead("HKCR\exefile\shell\Совместимость\command", '')
    If @error=1 Then
        ;регистрация в реестре и копирование в системную папку, при первом запуске
    RegWrite("HKCR\exefile\shell\Совместимость\command","","REG_SZ",@AutoItExe&' "'&@SystemDir&'\Compatibility.au3" "%1"')
    If Not FileExists(@SystemDir&'\Compatibility.au3') Then FileCopy(@ScriptDir&'\Compatibility.au3', @SystemDir,1)
    EndIf
     
    ; выход если нет параметра
    If $CmdLine[0]=0 Then Exit
    ;выделяем файл в окне
    Run('Explorer.exe /select,"'&$CmdLine[1]&'"')
    ; посылаем команду для открытия окна Свойства
    Send("!{ENTER}")
    Sleep(30)
    $win=WinGetHandle(WinList("[REGEXPTITLE:Свойства:*]"))
    ; ожидаем открытие окна
    WinWaitActive($win)
    Sleep(30)
    ;посылаем команду окну горячими клавишами Windows... {TAB 2} - повторить TAB два раза
    Send("^{TAB 2}")
    Send("{SPACE}")
    Send("{TAB}")
    Send("{DOWN 3}")
    Send("{ENTER}")

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 08:14 12-06-2010 | Исправлено: AZJIO, 08:22 12-06-2010
    madmasles

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

    Посмотрите здесь: Au3ToPost ( ...\Includes\AboutBox.au3) и здесь: Прокрутка текста без мерцаний.
     
    С праздником всех!

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 09:57 12-06-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Попробовал используя UDF Table.au3 в скрипте Check_md5.au3 сделать диалог вывода, смотрится красиво, хотя много лишнего кода, а информация о хеш в принципе не нужна.
     

     
    madmasles
    Да, я знаю, но не много есть мерцание. А в той утилите практически нет, если только всматриваться. И процессор она на 30% меньше напрягает.

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 13:31 12-06-2010 | Исправлено: AZJIO, 13:39 12-06-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Сделал полный портабельный дистрибутив AutoIt3 v3.3.6.1 (20Мб), но при полных тестах столкнулся с проблемой, не работают директивы:

    Цитата:
    #AutoIt3Wrapper_Run_After="%autoitdir%\SciTE\ResHacker\ResHacker.exe" -add "%out%", "%out%", %scriptdir%\TextCorrection1.ico, IconGroup, 1, 0
    #AutoIt3Wrapper_Run_After="%autoitdir%\SciTE\ResHacker\ResHacker.exe" -delete "%out%", "%out%", DIALOG, 1000,
    #AutoIt3Wrapper_Run_After="%autoitdir%\SciTE\ResHacker\ResHacker.exe" -delete "%out%", "%out%", ICON, 161,
    #AutoIt3Wrapper_Run_After="%autoitdir%\SciTE\upx\upx.exe" -7 --compress-icons=0 "%out%"

    Проблема в пробелах пути папки "Program Files", если извлекаю дистрибутив в корень, то работает нормально.

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 20:41 14-06-2010 | Исправлено: AZJIO, 21:25 14-06-2010
    Cegpuk



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    1. Объясните, как работает функция. Не могу понять каким образом происходит переключение состояния не в паузе/в паузе.

    Код:
    Global $Paused
    HotKeySet("{PAUSE}", "TogglePause")
     
    Func TogglePause()
        $Paused = NOT $Paused
        While $Paused
            sleep(100)
        WEnd
    EndFunc

     
    2. Умеет ли AutoIT работать с памятью: чтение и запись.

    Всего записей: 287 | Зарегистр. 24-01-2007 | Отправлено: 21:04 14-06-2010 | Исправлено: Cegpuk, 21:17 14-06-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