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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    DragonSerW

    Код:
    ShellExecute (@ScriptDir &"\LibreOffice_4.3.1_Win_x86.msi")

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 13:52 30-08-2014
    DragonSerW



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ynbIpb, я хочу запускать LibreOffice*.msi - то есть чтобы при обновлении LibreOffice до 4.3.2+ он тоже запускался бы, без изменения кода скрипта.

    Всего записей: 274 | Зарегистр. 11-05-2007 | Отправлено: 20:54 30-08-2014
    ynbIpb



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

    Код:
    #include <File.au3>
    $aMsiFiles = _FileListToArray(@ScriptDir, "*.msi", 1)
    If IsArray ($aMsiFiles) Then
        ShellExecute (@ScriptDir & "\" & $aMsiFiles[1])
    EndIf

    запускается первый найденный msi файл в каталоге со скриптом.

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 00:42 31-08-2014
    DragonSerW



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ynbIpb, cпасибо огромное. А без #include <File.au3>  это как-то можно сделать?

    Всего записей: 274 | Зарегистр. 11-05-2007 | Отправлено: 13:36 31-08-2014
    NIKZZZZ



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

    Код:
    $hSearch = FileFindFirstFile(@ScriptDir, "*.msi")
    If $hSearch <> -1 Then
        $sFile = FileFindNextFile($hSearch)
        FileClose($hSearch)
        ShellExecute(@ScriptDir & "\" & $sFiles)
    EndIf

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 13:53 31-08-2014 | Исправлено: NIKZZZZ, 15:44 31-08-2014
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ,
    У Вас опечатка
    Код:
    ShellExecute(@ScriptDir & "\" & $aFiles)
    Должно быть
    Код:
    ShellExecute(@ScriptDir & "\" & $sFile)

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 15:41 31-08-2014 | Исправлено: madmasles, 15:42 31-08-2014
    NIKZZZZ



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

    Цитата:
    У Вас опечатка

    Спасибо, поправил.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 15:46 31-08-2014
    Skif_off

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

    Всего записей: 6597 | Зарегистр. 28-01-2008 | Отправлено: 18:00 31-08-2014 | Исправлено: Skif_off, 16:32 02-09-2014
    ikif



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    День добрый.
    Есть проблема с запуском  SnippingTool.exe...
    Win7 x64
    Отсюда "C:\Windows\System32\SnippingTool.exe" не запускается , хотя линк в "Start" туда указывает.
     
    Запускалось нормально так :
    "C:\Windows\winsxs\amd64_microsoft-windows-snippingtool-app_1bfхххad3e35_6.1.7600.16485_none_f5b8f3хххa353fa89\SnippingTool.exe"
     
    НО , полагаю , после последних обнов мелкомягкого перестал запуск и выдает ошибку (пустую).
     
     
    Заранее благодарен.

    Всего записей: 164 | Зарегистр. 09-12-2006 | Отправлено: 16:53 02-09-2014
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ikif
    Win7x64 со всеми обновлениями, AutoIT 3.3.12.0, вот такой скрипт

    Код:
    $tValue = DllStructCreate("dword")
     
    If @OSArch = "X64" And @AutoItX64 = 1 Then
        Run(@WindowsDir & "\System32\SnippingTool.exe")
    ElseIf @OSArch = "X64" And @AutoItX64 = 0 Then
        ;отключаем и после запуска включаем обратно редирект System32->SysWOW64
        DllCall("kernel32.dll", "int", "Wow64DisableWow64FsRedirection", "ptr", DllStructGetPtr($tValue))
        Run(@WindowsDir & "\System32\SnippingTool.exe")
        DllCall("kernel32.dll", "int", "Wow64RevertWow64FsRedirection", "ptr", DllStructGetPtr($tValue))
    Else
        Run(@WindowsDir & "\System32\SnippingTool.exe")
    EndIf

    отлично отрабатывает .

    Всего записей: 6597 | Зарегистр. 28-01-2008 | Отправлено: 17:15 02-09-2014
    ikif



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спасибо , работает.
    НО , только под х86 компиляцией.
     
    х64 делает много проблем и не только с треем....
     
     
     
    Спасибо.

    Всего записей: 164 | Зарегистр. 09-12-2006 | Отправлено: 17:29 02-09-2014
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ikif
    Не совсем понял, что вы имеете в виду, запускал нескомпилированный скрипт в консоли
    AutoIt3.exe %путь%\test.au3
    и
    AutoIt3_x64.exe %путь%\test.au3
    Никакой разницы.
     
    В начале скрипта забыл добавить привычное #NoTrayIcon.

    Всего записей: 6597 | Зарегистр. 28-01-2008 | Отправлено: 17:33 02-09-2014
    ikif



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Скомпелировав под х64 не пахало - ошибку давало....
    Но , вот , шайтан блин... вынул нетбук с док-станции (на работе) , сейчас в автобусе еду и пробую снова и ВСЁ пашет и х86 , и х64.
     
     
     
     
    Добавлено:
    Вот еще вопрос у меня : Читаю из регистра ... как узнать что этот ключ существует или не существует ?

    Всего записей: 164 | Зарегистр. 09-12-2006 | Отправлено: 19:18 02-09-2014
    Skif_off

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

    Всего записей: 6597 | Зарегистр. 28-01-2008 | Отправлено: 22:21 02-09-2014 | Исправлено: Skif_off, 22:22 02-09-2014
    Vladimir_02



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    как опрделить из какой страны пользователь?
    т.е. что прописано в Региональных стнадартах
    Языковые стандарты и форматы
    и
    Расположение

    Всего записей: 400 | Зарегистр. 14-11-2008 | Отправлено: 12:38 03-09-2014 | Исправлено: Vladimir_02, 12:38 03-09-2014
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Vladimir_02,
    Смотрите в справке (AutoIt v3.3.12.0) пример к функции
    Код:
    _WinAPI_GetLocaleInfo()

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 13:29 03-09-2014
    Vladimir_02



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

    Цитата:
    $Locale = Regread("HKEY_CURRENT_USER\Control Panel\International", "Locale")
    $sCountry = Regread("HKEY_CURRENT_USER\Control Panel\International", "sCountry")
    MsgBox(48, "", $Locale & @Cr & $sCountry)
     


    Всего записей: 400 | Зарегистр. 14-11-2008 | Отправлено: 18:18 03-09-2014 | Исправлено: Vladimir_02, 18:19 03-09-2014
    Lovec



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, как в объекте IE кликнуть по нужной ссылке, если известен только ее URL?
     
    Сначала я перебирал все ссылки со страницы и кликал по нужной

    Код:
     
    $oLinks = _IELinkGetCollection ($o_IE)
    For $oLink In $oLinks
       if stringinstr ($oLink.href, "здесь_текст_искомого_URL") then _IEAction($oLink, "click")
    Next
     

    но с этим кодом у меня что то не заладилось. Стал искать другой способ.
     
    У ссылки нет ни имени, ни id, поэтому _IEGetObjById и _IEGetObjByName не прокатывают, чтобы потом по ним кликнуть.
     
    _IELinkClickByIndex - индекс ссылки на странице может измениться
    _IELinkClickByText - у ссылки нет текста как такового, только иконка
     
    Походу у меня ничего нет кроме УРЛа. Как-то можно еще кликнуть по ссылке?

    Всего записей: 1028 | Зарегистр. 29-10-2002 | Отправлено: 11:34 06-09-2014 | Исправлено: Lovec, 19:16 06-09-2014
    Lovec



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нашел один способ.
    У нужных мне ссылок есть title - можно находить ссылки по нему и кликать.

    Всего записей: 1028 | Зарегистр. 29-10-2002 | Отправлено: 19:17 06-09-2014
    Kostyas

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не могу получить содержание ComboBoxEX UDF.

    Код:
    #include <GuiComboBoxEx.au3>
    #include <GUIConstantsEx.au3>
    #include <MsgBoxConstants.au3>
     
     
    Example()
     
    Func Example()
        Local $hGUI, $hImage, $hCombo
     
        $hGUI = GUICreate("ComboBoxEx Get Cur Sel", 400, 300)
        $hCombo = _GUICtrlComboBoxEx_Create($hGUI, "", 2, 2, 394, 200, -1)
        $Button = GUICtrlCreateButton("Read", 150, 200,100, 30)
        GUISetState(@SW_SHOW)
     
        _GUICtrlComboBoxEx_BeginUpdate($hCombo)
        For $x = 0 To 100
            _GUICtrlComboBoxEx_AddString($hCombo, "String:   " & $x)
        Next
        _GUICtrlComboBoxEx_EndUpdate($hCombo)
     
        While 1
            Switch GUIGetMsg()
                Case $Button
                    MsgBox($MB_SYSTEMMODAL, "Information", "Current Sel: " & _GUICtrlComboBoxEx_GetEditText($hCombo))
                Case $GUI_EVENT_CLOSE
                    Exit
            EndSwitch
        WEnd
    EndFunc   ;==>Example

    Всего записей: 181 | Зарегистр. 05-02-2003 | Отправлено: 04:40 18-09-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