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

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



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

    Всего записей: 4560 | Зарегистр. 03-05-2006 | Отправлено: 23:38 02-11-2010 | Исправлено: AZJIO, 05:55 03-11-2010
    Kar1son

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    можно как то  изменить иконку к компилирующемуся экзешнику в тексте самого скрипта? в хелпе методы только путем ручного запуска au2exe и командной строки, а может есть какая команда(что-то типа icofile=myicon.ico)?

    Всего записей: 187 | Зарегистр. 23-08-2006 | Отправлено: 09:48 03-11-2010
    madmasles

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Kar1son,
    Цитата:
    можно как то  изменить иконку к компилирующемуся экзешнику в тексте самого скрипта?
    Почитайте здесь: FAQ по использованию ресурсов в AutoIt.
     

    Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 10:32 03-11-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Kar1son
    В принципе используй AutoIt3Wrapper с директивой #AutoIt3Wrapper_icon=icon.ico или вариант с ключом /ShowGui а в AutoIt3Wrapper.ini укажи иконку. Других вариантов пока не знаю.
     
    ViSiToR
    Немного неэкономичный скрипт, в цикле GUIGetCursorInfo() и условие постоянно крутит. Наверно можно через WM_NOTIFY сделать, для Button и ListView есть примеры, для Label нет. Как то использовать переключения стиля GUICtrlSetStyle($button,BitOR($SS_CENTER, $SS_CENTERIMAGE, $SS_SUNKEN))

    Всего записей: 4560 | Зарегистр. 03-05-2006 | Отправлено: 10:40 03-11-2010
    SAOPP

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

    Всего записей: 1048 | Зарегистр. 28-11-2004 | Отправлено: 12:39 03-11-2010 | Исправлено: SAOPP, 12:53 03-11-2010
    kpuk



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Что надо включить в вин 2003 сервер чтобы отображались картинки установленные на кнопку через GUICtrlSetImage($Button2, "1c2.bmp")

    ----------
    Мой дед говорил ''делай добро и бросай его в воду,
    Оно не пропадёт, добром к тебе вернётся...''

    Дружественный хостинг. Мой выбор!

    Всего записей: 1099 | Зарегистр. 07-03-2004 | Отправлено: 13:11 04-11-2010
    Zloy_Gelud



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть форма, наложенная на ГУИ. В этой форме автоматически распределяются кнопки. По 5 кнопок в линию, если кнопок болшьше, то формируется вторая линия кнопок и т.д. Хотелось бы сделать ресайз ГУИ, следовательно, будет меняться и размер формы, и, следовательно, количество кнопок в линии увеличится при изменении размеров ГУИ (растягивании). Вот ка бы сделать, чтоб при растягивании ГУИ кнопки со второй линии перемещались в первую линию, т.е. перестраивались в зависимости от размера ГУИ.

    Всего записей: 3267 | Зарегистр. 30-05-2007 | Отправлено: 13:34 04-11-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    kpuk
    А стиль для кнопки добавлен?
    $BS_BITMAP 0x0080 Button с изображением.

    Всего записей: 4560 | Зарегистр. 03-05-2006 | Отправлено: 15:38 04-11-2010 | Исправлено: AZJIO, 15:53 04-11-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AZJIO 11:40 03-11-2010
    Цитата:
     Наверно можно через WM_NOTIFY сделать, для Button и ListView есть примеры, для Label нет.

    Для статичных элементов кажется используется WM_COMMAND.
    Но я бы сделал через UDF GUICtrlOnHover - Обработка событии при наведении мышки.

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 15:43 04-11-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Zloy_Gelud
    Посмотри в архиве (82кб) файл "Notepad++(in_root_AutoIt3)\Instrument_azjio\panel_function\panel_function.au3 или старую версию. Но если честно я хотел бы переделать это. Во первых там рассчёт идет в цикле, каждые 0.2 сек, а можно сделать через WM-сообщения, т.е. только во время ресайза или активации окна. Во вторых нужно добавить условие сравнения, если окно не изменилось то не делать перерассчёт. В третьих это уже в самой утилите, хотелось бы ListView вертикальным списком, так как появится возможность прокручивать длинный список без ограничения по количеству добавляемых образцов.
     
    ViSiToR

    Цитата:
    Для статичных элементов кажется используется WM_COMMAND.
    у меня при экспериментах WM_COMMAND срабатывал только во время клика на элементах. А WM_NOTIFY (новый пример вытащил из UDF _GUICtrlButton_Create) срабатывает при наведении и самое главное компактный код. GUICtrlOnHover - да, я давно уже знаю и обновляю, думал там на WM-сообщения сделано, хотел что нибудь вытащить, а там у тебя на CALLBACK. Вобщем то тоже сравнительно компактно.

    Всего записей: 4560 | Зарегистр. 03-05-2006 | Отправлено: 15:53 04-11-2010 | Исправлено: AZJIO, 16:09 04-11-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как оптимизировать эффект звёздного неба? Процессор нагружает на 50%.
     
    Попробовал сделать вариант используя GDIP.au3, но не получается удалять созданные объекты, а всправке только ссылка на MSDN.

    Всего записей: 4560 | Зарегистр. 03-05-2006 | Отправлено: 18:18 04-11-2010 | Исправлено: AZJIO, 20:51 04-11-2010
    kpuk



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AZJIO
    Угу добавлен, на xp на котором писал отображает нормально, а когда на сервер 2003 переношу (собсно там оно и нужно) - там нет картинки(
    Вот я и собственно подумал что наверное какой-то элемент фейса надо включить, но т.к. всё же напрямую связано с автоитом, то пишу в этой теме!

    ----------
    Мой дед говорил ''делай добро и бросай его в воду,
    Оно не пропадёт, добром к тебе вернётся...''

    Дружественный хостинг. Мой выбор!

    Всего записей: 1099 | Зарегистр. 07-03-2004 | Отправлено: 22:38 04-11-2010
    Kar1son

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

    Код:
     
    #include <INet.au3>
     
    $s_SmtpServer = "mysmtpserver.com.au"
    $s_FromName = "My Name"
    $s_FromAddress = "From eMail Address"
    $s_ToAddress = "To eMail Address"
    $s_Subject = "My Test UDF"
    Dim $as_Body[2]
    $as_Body[0] = "Testing the new email udf"
    $as_Body[1] = "Second Line"
    $Response = _INetSmtpMail ($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body)
    $err = @error
    If $Response = 1 Then
        MsgBox(0, "Success!", "Mail sent")
    Else
        MsgBox(0, "Error!", "Mail failed with error code " & $err)
    EndIf
     
     

    пробовал smtp.google.com и smtp.mail.ru выскакивает ошибка с кодом 50.
    как отправить письмо из скрипта?

    Всего записей: 187 | Зарегистр. 23-08-2006 | Отправлено: 13:03 06-11-2010 | Исправлено: Kar1son, 21:14 06-11-2010
    MKN



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Необходимо из скрипта запустить программу App.exe, местонахождение которой, берётся из реестра

    Код:
    HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\App
    "Path"="C:\\Program Files\\App"
    @="C:\\Program Files\\App\\App.exe"

    Подскажите пожалуйста, как это реализовать ?

    Всего записей: 4964 | Зарегистр. 21-04-2005 | Отправлено: 14:32 06-11-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MKN
    В чём собственно проблема? RegRead для чтения из реестра.
     
    _______________
    Попробовал кеулогер сделать на основе уже имеющегося. Думаю поможет в случаях когда долго печатаешь пост, а тут вдруг связь оборвалась и пост забыл скопировать.

    Всего записей: 4560 | Зарегистр. 03-05-2006 | Отправлено: 15:11 06-11-2010 | Исправлено: AZJIO, 06:51 09-11-2010
    EagleSH

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    подскажите господа, имею exe файл message.exe написанный на автоит3, код внутри:

    Код:
    MsgBox(0, "SYSTEM", "TEXT")

    и есть главный файл проекта. project.exe
    так вот вопрос, мне нужно из проекта запускать message.exe и передавать ему значение SYSTEM и TEXT, чтоб каждый раз когда нужное сообщение выкинуть запускать message.exe с нужными текстами.
     
    каким макаром?
     
    п.с. мало того, project.exe не должен останавливаться и ждать нажатия кнопки ok в message.exe. Тоесть запустил message и дальше работает.

    Всего записей: 318 | Зарегистр. 20-12-2005 | Отправлено: 22:14 06-11-2010 | Исправлено: EagleSH, 22:17 06-11-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    EagleSH 23:14 06-11-2010
    Цитата:
    каким макаром?

    Пусть «project.exe» задаёт переменную через EnvSet, а «message.exe» принимает её зеачение через EnvGet.

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 22:37 06-11-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    EagleSH
    Если я правильно понял то в посте содержится ответ. Файл project.exe  выполняет команду 'message.exe "SYSTEM" "TEXT"'. Файл message.exe должен содержать код принятия 2-x параметров, типа:
    If $CmdLine[0]>1 Then MsgBox(0, $CmdLine[1], $CmdLine[2])

    Всего записей: 4560 | Зарегистр. 03-05-2006 | Отправлено: 23:09 06-11-2010
    EagleSH

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

    Код:
    EnvSet("TITLE", "this is a title")
    EnvSet("MESSAGE", "this is a message")
    Run(message.exe)

     
    message

    Код:
    $title=EnvGet("TITLE")
    $message=EnvGet("MESSAGE")
    MsgBox(0, $title, $message)

     
    Добавлено:
    AZJIO
    по твоему способу тоже попробую....
     
    но хотелось бы корректировки через сет/гет
     
    Добавлено:
    а вообще объясню для чего, просто заметил, что если из проекта кидаю сообщение, то проект стопорится на нём, пока не нажмёшь кнопку, как нажимаешь - дальше всё идёт. а это не правильно в моём случае
     
    Добавлено:
    протупил
    всё пашет
    спасибо!
     

    Код:
    Run(@WorkingDir & "\message.exe", "")

     
    Добавлено:
    та! то что доктор прописал.... спасибо ещё раз.
     
    п.с. а изнутри проджекта если сообщуху вызывать я так понимаю нет варика чтоб не останавливалось всё пока кнопку не нажмёшь?

    Всего записей: 318 | Зарегистр. 20-12-2005 | Отправлено: 23:36 06-11-2010 | Исправлено: EagleSH, 23:44 06-11-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    EagleSH 00:36 07-11-2010
    Цитата:
     если из проекта кидаю сообщение, то проект стопорится на нём, пока не нажмёшь кнопку

    Используй _NotifyBox() - MsgBox() без приостановки скрипта.

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 00:33 07-11-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