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

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



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

    Цитата:
    Ну так ты посылаешь 1000 пингов, прервётся после того как они все отработают  

    Я посылаю Ctrl+C. Все же помнят что такое Ctrl+C в консоли?

    Всего записей: 258 | Зарегистр. 04-03-2010 | Отправлено: 20:23 18-07-2011
    LaVas_ki

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

    Цитата:
    Пинг не прерывается. Т.е. не посылается Ctrl+C  

    он и руками то не работает
    хоть б сначала попробовал сделать, а уж потом скриптовал!
     
    Добавлено:

    Цитата:
    1. Открыть программу
    2. Послать ей сочетания. Подряд. Кол-во: 2 штуки
    3. И только сейчас показать окно программы.

    куда ж она должна "открыться" после 1 по вашему?

    Всего записей: 1464 | Зарегистр. 03-08-2003 | Отправлено: 20:30 18-07-2011
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    SunkaZlo 20:23 18-07-2011
    Цитата:
    Я посылаю Ctrl+C

    А до этого?

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 20:41 18-07-2011
    SunkaZlo



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

    Цитата:
    он и руками то не работает
    хоть б сначала попробовал сделать, а уж потом скриптовал!  

    http://savepic.org/1981386.png

    Цитата:
    куда ж она должна "открыться" после 1 по вашему?

    Что за вопросы. Программа это форма. Запустил - показалась форма. Куда-то открываться она не должна

    Начитавшись интернета, я узнал, что послать невидимому окну можно только через ControlSend. А у меня даже нижеследующее не работает

    Код:
    Run("C:\WINDOWS\system32\cmd.exe");
    WinWaitActive("C:\WINDOWS\system32\cmd.exe");
    ControlSend ("cmd","","","ping localhost -n 1000 {ENTER}");

    Работает:

    Код:
    Run("C:\WINDOWS\system32\cmd.exe");
    WinWait("C:\WINDOWS\system32\cmd.exe");
    ControlSend ("C:\WINDOWS\system32\cmd.exe","","","ping localhost -n 1000 {ENTER}");

    Только не понял почему просто с "cmd" не заработало
    Потому что надо было сразу прочитать "Title special definition"

    Всего записей: 258 | Зарегистр. 04-03-2010 | Отправлено: 20:41 18-07-2011 | Исправлено: SunkaZlo, 20:52 18-07-2011
    LaVas_ki

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    что то не работает
    а забавная ситуация )))
    если заупскать Cmd руками от он открывается в папке пользователя
    а если через скрипт то диск Д (у меня) и контрол+с не работает

    Всего записей: 1464 | Зарегистр. 03-08-2003 | Отправлено: 22:06 18-07-2011
    SunkaZlo



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

    Цитата:
    если заупскать Cmd руками от он открывается в папке пользователя  

    Если "С" - русская буква, то работает

    А вообще меня добивает то, что не работает даже с браузером.

    Код:
    Run("C:\Program Files\Mozilla Firefox\firefox.exe","",@SW_MINIMIZE);

    Судя по гуглу, ВинАпи игнорирует параметр запуска формы (с консольным всё ОК). И его (параметр) для формы надо вызывать ещё раз.
     
    Но всё равно проблема даже с

    Код:
    Run("C:\Program Files\Mozilla Firefox\firefox.exe");
    WinWait("Mozilla Firefox");
    WinSetState("Mozilla Firefox","",@SW_MINIMIZE);

    Моргает, пока WinWait
     
    Другое решение (найдено там же): рисовать форму относительно точки (5к,5к) (вне экрана), а потом просто перенести в (0,0). Но как вызвать так, чтобы форма начала отрисовываться относительно моей координаты я не знаю

    Всего записей: 258 | Зарегистр. 04-03-2010 | Отправлено: 22:14 18-07-2011 | Исправлено: SunkaZlo, 22:51 18-07-2011
    LaVas_ki

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    проще использовать какой нить менджер рабочего стола (или виртуальных столов)
    не помню как они называются - суть что можно программы раскидать по рабочим столам - в одном видно в другом нет типа Dexpot
    выводить окно на неактивный, а потом переводить на текущий

    Всего записей: 1464 | Зарегистр. 03-08-2003 | Отправлено: 09:44 19-07-2011 | Исправлено: LaVas_ki, 09:46 19-07-2011
    ynbIpb



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

    Цитата:
    Моргает, пока WinWait

    не используй это. он слишком медленный.
    Лучше в цикле проверяй:

    Код:
    While 1
        If WinExists ("Mozilla Firefox") Then
            WinSetState ("Mozilla Firefox", "", @SW_MINIMIZE)
            ExitLoop
        EndIf

        Sleep (30); чтоб не грузило проц
    WEnd

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 10:39 19-07-2011
    SunkaZlo



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Значит Fx как-то странно выдаёт окно. Не минимизируется.
    Думал в цикле ему раз 100 каждые 10мс посылать minimize, дак он при загрузке всё равно моргает, а потом похоже не выполняет с @SW_MINIMIZE, если оно уже минимизировано

    Всего записей: 258 | Зарегистр. 04-03-2010 | Отправлено: 12:19 19-07-2011
    ynbIpb



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    https://developer.mozilla.org/en/Command_Line_Options
    там есть такой вот параметр: -silent
    может сгодится?

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 13:22 19-07-2011
    SunkaZlo



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

    Цитата:
    https://developer.mozilla.org/en/Command_Line_Options
    там есть такой вот параметр: -silent
    может сгодится?

    Туда я с самого начала посмотрел. Silent, похоже, запускают вкупе с другими параметрами, чтобы окно браузера не было видно. Вызов C:\Program Files\Mozilla Firefox\firefox.exe -silent создаёт и уничтожает процесс. Т.е. полезной работы никакой

    Всего записей: 258 | Зарегистр. 04-03-2010 | Отправлено: 16:33 19-07-2011
    RuS_UA



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    История такова, живём в доме 2мя семьями и один ПК на всех, все за ним сидят и все ставят uTorrent на "паузу", сколько не объяснял всем пофиг. А хочется же фильм скачать и раздать что то ...
    Помогите решить задачу,
    нужно через 5 минут неактивности снимать uTorrent с "паузы"...
    Задача не простая понимаю, помогите а то я сам не программист.
    Задал дублирующий вопрос ещё в http://forum.ru-board.com/topic.cgi?forum=5&bm=1&topic=26082#1 Вдруг люди добрые помогут.

    Всего записей: 338 | Зарегистр. 04-01-2008 | Отправлено: 17:39 20-07-2011
    ynbIpb



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    RuS_UA, вроде уже кто-то придумал нечто подобное AutoUTorrent by Wuul http://wuul.host22.com/autoutorrent/readme.html

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 18:25 20-07-2011 | Исправлено: ynbIpb, 18:26 20-07-2011
    RuS_UA



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ynbIpb
    Что то сложно, я сам уже скрипт набрасал.

    Всего записей: 338 | Зарегистр. 04-01-2008 | Отправлено: 19:09 20-07-2011
    SunkaZlo



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

    Цитата:
    Все за ним сидят и все ставят uTorrent на "паузу", сколько не объяснял всем пофиг. А хочется же фильм скачать и раздать что то ...

    Есть вариант не по теме: как известно, есть 6 версий uTorrent'a, которые уживаются спокойно с отдельными настройками на каждый.
    Берем тот, который не стоит в системе, качаем им, иконку из трея скрываем какой-нибудь прогой (уверен - гуглится). При желании можно ещё прогой скрыть из диспетчера задач процесс. Если совсем вторая семья IT

    Всего записей: 258 | Зарегистр. 04-03-2010 | Отправлено: 21:57 20-07-2011 | Исправлено: SunkaZlo, 21:59 20-07-2011
    RuS_UA



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SunkaZlo
    Дело в том что инет 1 Мб АДСЛ и если не ставить UT на паузу по инету лазить невозможно.
    Потому выход только 1 скрипт который будет снимать UT с паузы по прошествию 10 минут(например) и делатель но чтоб полно экранные приложения сначала сворачивал или ликвидировал.  
    Жду помощи.

    Всего записей: 338 | Зарегистр. 04-01-2008 | Отправлено: 01:06 21-07-2011
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Попробовал сделать программку для автозаполнения текста в DOCX-файлах. Допустим есть текст, который часто приходится заполнять, и приходится прыгать по страница заменяя данные в шаблоне. Так как DOCX это zip-архив, то можно извлечь, сделать замену текста и обратно упаковать.
    Утилита имеет папку шаблонов и ini-файл указывающий какой текст заменять и каким текстом. После запуска утилиты можно выбрать один из шаблонов, ввести тексты в поля и выполнить замену.
    скачать (обновил, добавлено обработка нескольких файлов и сохранить/загрузить автозаполнние полей)

    Всего записей: 4409 | Зарегистр. 03-05-2006 | Отправлено: 07:39 21-07-2011 | Исправлено: AZJIO, 06:04 23-07-2011
    SunkaZlo



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

    Цитата:
    чтоб полно экранные приложения сначала сворачивал или ликвидировал.  

    Как будто это более гуманное решение. Каждые 10 минут доставать человека.
    Half open limit fix + ограничение закачки на 1/3 канала и можно спокойно серфить.
    Хотя больше настаивать не буду. Хотите скрипт - ждите помощи.

    Всего записей: 258 | Зарегистр. 04-03-2010 | Отправлено: 12:23 21-07-2011
    RuS_UA



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Извините подскажите как  
    1. определить время простоя ПК?
    2. Как развернуть программу с трея?

    Всего записей: 338 | Зарегистр. 04-01-2008 | Отправлено: 17:05 23-07-2011
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    RuS_UA,
    1.
    Код:
    #include <Timers.au3>
     
    While 1
        ConsoleWrite(StringFormat('%.2f sec', _Timer_GetIdleTime() / 1000) & @CR)
        Sleep(100)
    WEnd

    2.
    Код:
    WinActivate('Заголовок или Handle Вашего окна')
     
    ;или
     
    If BitAND(WinGetState('Заголовок или Handle Вашего окна'), 16) Then
        WinSetState('Заголовок или Handle Вашего окна', '', @SW_RESTORE)
    EndIf

     
     
    Попробуйте с µTorrent так. У меня с µTorrent 3.0 работает Читать дальше..

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 19:19 23-07-2011 | Исправлено: madmasles, 20:40 26-07-2011
       

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