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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 4)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Открыть новую тему     Написать ответ в эту тему

gyra

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

 
Описание:

Цитата:
AutoIt v3 - это язык для написания сценариев, напоминающий BASIC. Основным его назначением является автоматизация работ с Windows GUI (графическим интерфейсом пользователя MS Windows). Для выполнения этой сложной задачи предоставляется комбинация испытанных методов, включающих в себя эмуляцию нажатий комбинаций клавиш клавиатуры, перемещения указателя мыши, управление окнами и их визуальными элементами. Как показывает практика, эти "приводные ремни" весьма эффективны для получения работающих решений в ситуациях, когда другие стандартные средства (например, VBScript и SendKeys) оказываются бессильны.
Умеет он очень и очень многое! Бесплатный.

 
  • Справки
  • Инструменты
  • Ресурсы, посвящённые AutoIt
  • Полезные советы новичкам и не только
  • Готовые решения
  • Версии для устаревших Windows
  • Скрипт раскраски кода AutoIt для публикации в форумах
     


     
    За шапкой следит ViSiToR / AZJIO  

  • Всего записей: 7932 | Зарегистр. 18-02-2006 | Отправлено: 10:49 23-01-2020 | Исправлено: Egor2020, 14:02 22-03-2021
    DWZ

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

    Цитата:
    Это опечатка $WorfFile

     
    А я и не заметил. Старый стал . И ведь специально копипастил, чтобы не опечататься, но скопипастил не оттуда
     

    Цитата:
    Я бы мог вытащить ключ из реестра, но боюсь ошибиться при разборе значения, запутаться в кавычках. Вы уж сами в скрипт добавьте.

     
    Да я уже добавил . Это для тех, кто ещё заинтересуется, чтобы ОНИ не забыли.
     

    Цитата:
    ; из файла APISysConstants.au3 $KLF_ACTIVATE  

     
    Вот оно что, а я его не подключил, а AutoIt не ругается на не инициализированные переменные.
    Итак, в итоге скрипт приобретает вид (не забудтье прописать свой серийник)

    Код:
    Opt("WinTitleMatchMode", 2)
     
    #include <Array.au3>
    #include <WinAPISys.au3>
     
    Local $WordFile = ""
    ; Можно использовать $WordFile = $CmdLine[1], если точно уверены, что параметр есть, единственный и в кавычках
    ; для способа ниже: если в названии подряд несколько пробелов, останется один!
    If $CmdLine[0] > 0 Then
        $WordFile = $CmdLine[1]
    Else
        $WordFile = FileOpenDialog("Выберите файл", @MyDocumentsDir, "Files (*.doc;*.docx)|All (*.*)")
        If @error Then _Exit("Файл не выбран!")
    EndIf
    ; Наверное, здесь должен быть ещё серийный номер?
    Local $sStarter = "Microsoft Word Starter 2010 серийник"
    ; Заголовок окна, часть (см. выше "WinTitleMatchMode")
    Local $hWnd = "Документ1 - Microsoft Word Starter"
    Local $bWindow = False
    Run("C:\Program Files (x86)\Common Files\microsoft shared\Virtualization Handler\CVH.EXE" & " " & '"' & $sStarter & '"')
    $hWnd = WinWait($hWnd, "", 100)
    If $hWnd = 0 Then _Exit("Не удалось запустить Microsoft Word Starter!")
     
    WinActivate($hWnd)
    Send("^щ")
     
    $hOpenDlg = WinWait("Открытие документа", "", 100)
    WinActivate($hOpenDlg)
    Send($WordFile & "{ENTER}")
    Exit
     
    Func _Exit($sMessage)
        MsgBox(16, "Error", $sMessage, 3)
        Exit
    EndFunc ;==>_Exit  

     
    Единственная проблема - на ноутбуке, где стоИт Office Starter регулярное и периодически всплывают окна всяких других программ и по закону подлости попадают между WinActivate($hWnd) и Send("^щ") или во время Send($WordFile & "{ENTER}") и скрипт не работает как надо . Я пытался привязать Send к дескрпитору конкретного окна, чтобы вывод всегда шёл туда, но Send так не умеет . Можно ли как-то обойти это дело?
     

    Всего записей: 33 | Зарегистр. 09-10-2019 | Отправлено: 02:26 11-11-2025
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ControlSend / ControlSetText? Есть ещё WinSetOnTop.
     
    P.S. Слать клавиши контролам всегда было не по душе, конкретнее не подскажу.

    Всего записей: 6759 | Зарегистр. 28-01-2008 | Отправлено: 02:39 11-11-2025
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

    Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 4)


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2025

    LiteCoin: LgY72v35StJhV2xbt8CpxbQ9gFY6jwZ67r

    Рейтинг.ru