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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как оптимизировать эффект звёздного неба? Процессор нагружает на 50%.
     
    Попробовал сделать вариант используя GDIP.au3, но не получается удалять созданные объекты, а всправке только ссылка на MSDN.

    Всего записей: 4416 | Зарегистр. 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"

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

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



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

    Всего записей: 4416 | Зарегистр. 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])

    Всего записей: 4416 | Зарегистр. 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
    EagleSH

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

    Всего записей: 318 | Зарегистр. 20-12-2005 | Отправлено: 00:54 07-11-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    EagleSH
    Есть вариант вызвать мессагу, по принципу как сделано у меня в скриптах "Stopwatch - Секундомер" и "The_generator_of_melodies", там внутри скрипта вложен скрипт в виде переменной, когда понадобится запустить его он сохраняется в темповой папке скриптом и вызывается с параметром /AutoIt3ExecuteScript, вот так:
    $pid=Run(@AutoItExe&' /AutoIt3ExecuteScript "'&@TempDir&'\message.au3"')
     
    В данном случае @AutoItExe это полный путь к файлу project.exe

    Всего записей: 4416 | Зарегистр. 03-05-2006 | Отправлено: 01:31 07-11-2010
    EagleSH

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

    Всего записей: 318 | Зарегистр. 20-12-2005 | Отправлено: 10:25 07-11-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    EagleSH
    Посмотри готовый скрипт-пример
     
    _________________________
    Обновил кеулогер, или вот готовый EXE

    Всего записей: 4416 | Зарегистр. 03-05-2006 | Отправлено: 20:39 07-11-2010 | Исправлено: AZJIO, 05:02 09-11-2010
    EagleSH

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

    Всего записей: 318 | Зарегистр. 20-12-2005 | Отправлено: 13:31 08-11-2010
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Что то не получается у меня паузу сделать в кеулогере

    Код:
    Global $Pause=0
    HotKeySet("!8", "_Pause") ;Alt+8
     
    Func _Pause()
        If $Pause = 0 Then
            $Pause = 1
            DllCallbackFree($hStub_KeyProc)
        Else
            $Pause = 0
            $hStub_KeyProc = DllCallbackRegister("_Key_Proc", "int", "int;ptr;ptr")
        EndIf
    EndFunc
    на DllCallbackFree вылетает.

    Всего записей: 4416 | Зарегистр. 03-05-2006 | Отправлено: 02:37 09-11-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AZJIO 02:37 09-11-2010
    Цитата:
    на DllCallbackFree вылетает

    Попробуй так:
     

    Код:
    Func _Pause()
        If $Pause = 0 Then
            $Pause = 1
            If $hStub_KeyProc Then
                DllCallbackFree($hStub_KeyProc)
                $hStub_KeyProc = 0
            EndIf
        Else
            $Pause = 0
            $hStub_KeyProc = DllCallbackRegister("_Key_Proc", "int", "int;ptr;ptr")
        EndIf
    EndFunc


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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 10:42 09-11-2010
    frb_noname

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Скриптом заношу в БД краткое описание файла.  
    Описание получаю путем копирования и вставки в inputbox части текста открытого документа. Само собой разумеется, что сюда попадают и пробелы и перевод строки и т.д.
    В результате,  не весь скопированный текст помещается в inputbox.
     
    Вопрос в том, как получить в переменную ВЕСЬ скопированный текст ?

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ViSiToR
    Нет, сам по себе DllCallbackFree($hStub_KeyProc) вылетает при первом вызове, т.е. добавленное условие будет верным.
     
    ________________
    Узнать версию AutoIt3 внутри скомпилированного EXE можно так:
    на батник с таким содержанием
    Код:
    start "" "%~f1" /AutoIt3ExecuteScript "%~dp0version.au3"
    кинуть EXE
    с батником должен быть скрипт version.au3 с таким содержанием:
    Код:
    MsgBox(0, 'Версия AutoIt3', @AutoItVersion)

     
    А вот ещё полезный батник
    taskkill.exe /F /IM AutoIt3.exe
    если сделать на него ярлык и в свойствах указать "Быстрый вызов", то помогает снимать зацикленные/зависшие процессы автоита при тестах, а также скрипты, в которых "Закрыть" не работает.
     
    NIKZZZZ
    Хотел RegToScript.exe добавить в реестр чтоб из контекстного меню работала, но не получается, пишет что не найден RegToScript.ini

    Код:
    Reg.exe add "HKEY_CLASSES_ROOT\regfile\shell\mconv\command" /v "" /t REG_SZ /d "\"%~dp0RegToScript.exe\" /au3 \"%%1\" \"%%1.au3\"" /f

     
    Добавлено:
    frb_noname
    $ES_MULTILINE 0x0004 Многострочный элемент редактирования. Стандартный режим - одна строка ввода.

    Всего записей: 4416 | Зарегистр. 03-05-2006 | Отправлено: 14:32 09-11-2010
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AZJIO 14:32 09-11-2010
    Цитата:
    добавленное условие будет верным

    Ты проверял то что я предложил? я не с потолка это взял, у меня уже было такое.

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

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