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

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



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    для флагов в функции FileOpen есть такое:

    Цитата:
    $FO_UTF8 (128) = Use Unicode UTF8 (with BOM) reading and writing mode. Reading does not override existing BOM.

    что это значит?

    Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 15:46 24-06-2014
    SuperDimon007



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    madmasles
    Вроде работает, спасибо большое.

    Всего записей: 51 | Зарегистр. 12-06-2012 | Отправлено: 15:51 24-06-2014
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    unreal666
    Цитата:
    что это значит?
    Из русской справки:
    Цитата:
    128 = Использовать кодировку Unicode UTF8 (с BOM) для чтения и записи. Чтение не перезаписывает существующую BOM.

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 15:54 24-06-2014 | Исправлено: madmasles, 15:54 24-06-2014
    unreal666



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

    Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 16:02 24-06-2014 | Исправлено: unreal666, 16:03 24-06-2014
    oka206

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    (сообщение удалено)
    VIDEO 2 AUTOIT

    Всего записей: 4 | Зарегистр. 22-10-2007 | Отправлено: 10:23 26-06-2014 | Исправлено: oka206, 13:50 26-06-2014
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    oka206,
    На форуме autoit-script.ru есть раздел Покупка/продажа, поиск услуг.

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 12:59 26-06-2014
    oka206

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    madmasles:
    >На форуме autoit-script.ru есть раздел Покупка/продажа, поиск услуг.
     
    Спасибо!

    Всего записей: 4 | Зарегистр. 22-10-2007 | Отправлено: 13:42 26-06-2014
    77599073587



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Задача такая, есть локальная сеть, есть несколько компов, один комп всегда включен, нужно включить по wake on lan только один компьютер с адресом 192.168.1.1 . Нужен самый простой скрипт который бы только будил компьютер. В итоге хочу что б на рабочем столе лежал EXE при запуске котором бы запускался удаленный компьютер.  
     
    Такой скрипт не запускает комп  
     
    $IPAddress = "192.168.1.1"; This is the broadcast address !
    $MACAddress = "1118F37C5B58"
     
     
    UDPStartUp()
     
    $connexion = UDPOpen($IPAddress, 7)
    $res = UDPSend($connexion, GenerateMagicPacket($MACAddress))
    MsgBox(0, "", $res)
     
    UDPCloseSocket($connexion)
    UDPShutdown()
     
     
    ; ===================================================================
    ; Functions
    ; ===================================================================
     
     
    ; This function convert a MAC Address Byte (e.g. "1f") to a char
    Func HexToChar($strHex)
         
        Return Chr(Dec($strHex))
         
    EndFunc
     
    ; This function generate the "Magic Packet"
    Func GenerateMagicPacket($strMACAddress)
         
        $MagicPacket = ""
        $MACData = ""
         
        For $p = 1 To 11 Step 2
            $MACData = $MACData & HexToChar(StringMid($strMACAddress, $p, 2))
        Next
         
        For $p = 1 To 6
            $MagicPacket = HexToChar("ff") & $MagicPacket
        Next
         
        For $p = 1 To 16
            $MagicPacket = $MagicPacket & $MACData
        Next
         
        Return $MagicPacket
         
    EndFunc

    Всего записей: 31 | Зарегистр. 12-02-2013 | Отправлено: 07:56 27-06-2014
    AZJIO



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

    Цитата:
    видеть вместе слова "чтение" и "не перезаписывает
    В принципе да, чтение по сути не должно влиять на файл.

    Всего записей: 4409 | Зарегистр. 03-05-2006 | Отправлено: 23:34 28-06-2014 | Исправлено: AZJIO, 00:26 29-06-2014
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AZJIO
    Цитата:
    В принципе да, чтение по сути не должно влиять на файл.
    ИМХО, раз описание идет к функции открытия файла (FileOpen), то замечание вполне уместно, только, может быть, его нужно заменить на: Открытие файла в режиме чтения не перезаписывает существующую BOM.

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 14:43 29-06-2014
    dialmak



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Народ. Как определить разрядность среды откуда запущен процесс?
    Поясню более подробно.  
    - Имеем 64 битную ОС.  
    - Запускаем 32 битный менеджер файлов или просто %systemroot%\syswow64\cmd.exe
    - Запускаем далее прогу programa.exe
    1 вопрос. Как в programa.exe определить, что запуск был из 32 битной среды?
    2 вопрос. Как вызвать из проги запущенной в 32 битной среде -  другую прогу в 64 битной среде? Такое умеет делать например модифицированный модуль 7zip http://7zsfx.info/ru/
     
    Меня интересует сам принцип (необязательно в коде Autoit)

    Всего записей: 14007 | Зарегистр. 27-04-2013 | Отправлено: 15:10 05-07-2014 | Исправлено: dialmak, 15:14 05-07-2014
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dialmak
    1. Макрос @AutoItX64
    2. Так же, как и любую другую Run* | ShellExecute*.
    Для доступа к реестру - читать уточнение в описании функций, для доступа к каталогам (%systemroot%\system32\) конструкция (отключение перенаправления) вида:

    Код:
    $tValue = DllStructCreate("dword")
     
    If @OSArch = 'X64' And @AutoItX64 = 0 Then
        DllCall("kernel32.dll", "int", "Wow64DisableWow64FsRedirection", "ptr", DllStructGetPtr($tValue))
    EndIf
     
    Run*|ShellExecute*
     
    If @OSArch = 'X64' And @AutoItX64 = 0 Then
        DllCall("kernel32.dll", "int", "Wow64RevertWow64FsRedirection", "ptr", DllStructGetPtr($tValue))
    EndIf

    Всего записей: 6473 | Зарегистр. 28-01-2008 | Отправлено: 16:10 05-07-2014 | Исправлено: Skif_off, 16:12 05-07-2014
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dialmak
    @AutoItX64 - Возвращает 1, если скрипт выполняется x64 версией AutoIt.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 16:15 05-07-2014
    dialmak



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

    Цитата:
    Возвращает 1, если скрипт выполняется x64 версией AutoIt.

    В общем вопрос был не тот немного. Вопрос был определить разрядность среды ОТКУДА запускается прога.
    Skif_off
    В общем не хочется использовать Wow64DisableWow64FsRedirection... Другого варианта нет?
    Интересует не доступ к каталогам, а просто запуск другой программы.

    Всего записей: 14007 | Зарегистр. 27-04-2013 | Отправлено: 16:33 05-07-2014
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dialmak
    Если не нужны каталоги/разделы реестра, с которыми происходит редирект, то и с Wow64DisableWow64FsRedirection нет смысла заморачиваться.
     
    По первому вопросу можно погуглить https://www.google.com/search?q=autoit+родительский+процесс

    Всего записей: 6473 | Зарегистр. 28-01-2008 | Отправлено: 17:30 05-07-2014
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dialmak
    Цитата:
    определить разрядность среды ОТКУДА запускается прога.
    Попробуйте использовать функции  

    Код:
    _WinAPI_GetParentProcess()
    _WinAPI_IsWow64Process()
    В 3.3.8.1 они в WinAPIEx.au3, в 3.3.12.0 в штатных WinAPIProc.au3 и WinAPIInternals.au3.

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 22:12 05-07-2014
    dialmak



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    madmasles
    Я уже откопал их.. Но всё равно спасибо
     
    Добавлено:
    Может кому пригодится - выложу заготовку
    Определение битности родительского процесса

    Всего записей: 14007 | Зарегистр. 27-04-2013 | Отправлено: 22:34 05-07-2014
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dialmak
    Цитата:
    Может кому пригодится - выложу заготовку
    А Вы не перепутали 32 и 64?

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 23:30 05-07-2014
    dialmak



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    madmasles
    Нет. Всё корректно.  
    _WinAPI_IsWow64Process ( [$PID] )
    Parameters
    $PID [optional] The PID of the process. Default (0) is the current process.
     Return Value
    Success: 1 - The process is running under WOW64.
    0 - Otherwise.  

    Всего записей: 14007 | Зарегистр. 27-04-2013 | Отправлено: 23:44 05-07-2014
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dialmak
    Цитата:
    Нет. Всё корректно.
    ИМХО нет. IsWow64Process function

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 23:50 05-07-2014
       

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