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

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

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

Widok (01-06-2010 13:08): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

Widok



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

AutoIt3
(Часть 1)

 
 
Домашняя страница: http://www.autoitscript.com
Страница загрузки: http://www.autoitscript.com/autoit3/downloads.php
 
Описание:

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

 
Помощь по AutoIT:
  • Справку на русском (и не только) вы всегда(?) сможете найти тут
  • Учебник по AutoIt для начинающих
  • Видео-руководства на YouTube (англ.)
  • AutoIt v3: Your Quick Guide (652 КБ) - Ваш быстрый гид в мир AutoIt-а (книга в формате pdf) - Та же книжка online.
  • Справочник по командам rundll32
  • Справка WinAPI (Win 32 API по шагам)
  • Русский справочник по API-функциям
  • Полезная информация по WinAPI на русском
  • Помощь по регулярным выражениям
  • Tutorial on DllCall() & DllStructs - Небольшое (пока?) руководство по использованию функции DllCall*()
     
     
    Ресурсы, посвящённые AutoIt
  • AutoIt в Википедии
  • AutoIt Russian Community - Русское сообщество AutoIt
  • Jabber-конференция для обсуждения мелких вопросов касающихся AutoIt
  • Обзор скриптового языка AutoIt (рус.)
  • AutoIt на Yahoo! Groups
  • Раздел в конфиренции OSzone.net, посвящённый AutoIt
  • Пополняющийся со временем сайт с полезными утилитами и функциями на AutoIt
  • Коллекция AutoIt-скриптов от Sanja Alone
  • Коллекция AutoIt-скриптов от MSFN (могут быть устаревшие).
  • Коллекция AutoIt-скриптов от AZJIO
     
     
    !!! Полезные советы и заметки - новичкам и не только
     
     
  • Рекомендации по написанию скриптов
     
     
    Инструменты для AutoIt:
  • AutoIt Path Switcher - Переключение пути к папке AutoIt.
  • AutoIt3Wrapper [Страница закачки] - Программа для компиляции скрипта с дополнительными возможностями (добавление значка, описания и т.п).
  • Koda (724 Kb) - Визуализация работы с GUI - аналог Visual Basic.
  • CodeWizard (400 Kb) - нечто простенькое на вариант Koda.
  • AutoItMacroGenerator (34 Kb) - Записывает в реальном времени действия пользователя в AutoIt-код.
  • ScriptWriter (78 Kb) - Аналог AutoItMacroGenerator.
  • API Constants (1042 Kb) - Утилита для просмотра всех констант API-функции и не только.
  • Страница закачки утилит, которые идут в отдельной поставке редактора SciTE.
  • AutoIt-меню для браузера Opera.
     
    Готовые скрипты и программы с открытым кодом на AutoIt:
  • Desktop Icons Restorator - Скрипт-программа для сохранения/восстановления позиции значков рабочего стола.
  • CaptureIt - Утилита для захвата изображений с экрана.
  • SwitchIt - Скрипт для конвертирования выделенного текста.
  • Скрипт раскраски кода AutoIt для публикации в форумах
     
    Общие вопросы и решения на Autoit:
  • Обработчик скриптов добавляющий отладчик (debugger) - Последняя версия: AutoItScript Add Debugger
  • Интеракция между несколькими скриптами
  • Пример использование интеракции между скриптами - Добавление элементов GUI с внешнего модуля
  • Чтение и запись данных с/в окна/о SciTE
  • Пример автообновления версии своего приложения
  • Копирование большого файла с отображением данных прогресса
  • Создание динамического меню в Tray Icon (значок в области уведомлений)
  • Пример создания своего мастера (Wizard)
  • Метод, позволяющий запускать код VBS без создания временных файлов
  • Описание функции GUIRegisterMsg()
  • Пример перехвата вводимых символов с клавиатуры
  • Пример деактивирования TabItem
  • Пример вывода лога в Edit-поле (с поддержкой форматирования текста)
  • Пример остановки/начало выполнения скрипта + Слежение за буфером обмена с заменой неподдерживаемых в имени файла символов
  • Подключение приложения (GUI) к буферу обмена
  • Пример использования меню с значками (ModernMenu.au3) -> Список программ в меню значка в системном трее
  • Пример подсчёта интервала времени между нажатиями клавиш
  • Слежение нажатых элементов в текущем окне (под курсором)
  • Написание instant messaging Бота на AutoIt
  • Способ, позволяющий посылать нажатие клавиши в неактивное окно (не путать со свёрнутым)
  • Сервер <=> Клиент - Пример передачи файла
  • Пример отображения только элементов GUI (без самой оболочки)
  • Модуль, превращающий ваше приложение в Trial-версию
  • Слежение за выделенным текстом и с последующим его помещением в файл
     
    Отдельные функции и библиотеки (UDF):
  • Функции, относящиеся к интернету
  • Функции для работы с процессами и окнами
  • Функции для работы с файлами
  • Функции для GUI/Tray
  • Системные функции
  • Разное (то, что не подпадает под другие категории)
     


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

  • Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 14:47 12-01-2009 | Исправлено: Maz, 11:50 17-04-2017
    seallaes

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

    Цитата:
    Не думаю, что кто-нибудь захочет помочь с написанием такого софта...  

    ну надо ж с чего-то начинать... может я не так выразился, надо просто перехватывать вводимые символы с учетом шифта и расладки для проекта, который у меня пока только в задумках)

    Всего записей: 12 | Зарегистр. 15-05-2008 | Отправлено: 18:37 29-01-2009 | Исправлено: seallaes, 18:42 29-01-2009
    Zwook

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

    Цитата:
    надо просто перехватывать вводимые символы с учетом шифта и расладки для проекта, который у меня пока только в задумках)

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

    Всего записей: 83 | Зарегистр. 21-11-2008 | Отправлено: 19:19 29-01-2009 | Исправлено: Zwook, 19:20 29-01-2009
    sproxy



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

    Цитата:
    Не думаю, что кто-нибудь захочет помочь с написанием такого софта...

    хе )) да чевож там....пусть делает! даже знаю полезное приминение такой софтины,
    САМОЕ ГЛАВНОЕ - что бы исполнение "не хромало" и полностью соответсвовало задуманному!
     
    ...к примеру есть комп, в магазине, по ряду причин там стоит icq,
    ну скажем для связи с тех.поддержкой.
    так вот, как объяснить сотрудникам магазина, что пользоваться icq
    в не служебных целях:
    а. отвлекает от работы
    б. все таки траффик, если считать по gprs, и лимитом на один магазин за интернет - то порой, "левый" трафик, - заметен.
     
    а ознакомишь ребят, что все набранные цифирки и буковки будут записанны - СРАЗУ пропадают "пусто словы" )))))))
     
    + всегда можно удостовериться и официальный отчет.....
     
     
    п.с. 'кей-лог' это не только "троян" )))) но и полезное средство в борьбе, а порой и обучение "твердолобых" и "не понимающих по человечески" сотрудников!
     
     

    Цитата:
    GUICtrlSetFont($ListView, 16)

    помогло, благодарю. сам не догадался))
     

    Цитата:
    Пример можно? Речь ведь об этой UDF?

    давно как то делал, сейчас нет уже, хотяя....попробую поискать  
    (зы...нашел...но куча error при компиляции....как викину все покажу...
    уже самому интересно).
    дело было в том, что делал подобие кнопок tool bar.
    только вручную, т.е. создовал иконку, при наведение на котороку
    она менялась на кнопку, и обратно. делал так, так как
    tool bar не смог разместить в середине окна (а не вверху как
    по стандарту, а дочерные окна не подходят из за
    не обратки перехода по элементам tab)
     
    так вот, таких иконок/кнопок было примерно 9, по 3 штуки в 3 ряда.
    и когда быстро, хотя в принципе нормально, проводил с верху вниз
    по всем рядам, или наоброт, не все появившиеся кнопки, вместо иконок,
    менялись обратно на иконки....
     
     

    Цитата:
    Возможно ли чтобы скрипт работал в фоновом режиме?! Что бы он был виден только в процессах.

    Любой скрипт и так - изначально работает в фоне )))
    пока не прикрутишь к ниму интерфейс, трей иконки и т.д. видимые штуки )))
    ..канечно в процессах он виде....=ъ
     
     
     
     
     
    Добавлено:
    ViSiToR

    Цитата:
    Функция (и пример использования) для отображения стильного диалога “О Программе” [?] - [Усовершенствованная версия [?]]

     
    ну, ты это, ...супер-мега-пупер-офигенно-крууут!!!!
    аж балдею......после F5 моя реакци:
     
    ....оооо....О_О....ёёёёёпть.....фигеть......ахринеть......
    КЛАССССНЮЩАЯ ШТУКА!!!........
     
    Здорово! ..."титры" мож и не заюзаю....а вот как
    подобие ссылок сделать - КАК раз думал )))
     
    Благодарю!
     
     
    Добавлено:

    Цитата:
     
     
    ...and many other good peoply: ViSiToR a.k.a CreatoR and Maza_Faka aaaaand yes:
    many other good peoply )))))))))))))))))))))))
     
     

    Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 19:27 29-01-2009 | Исправлено: sproxy, 19:32 29-01-2009
    pand



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Скачал, играюсь, подскажите PixelSearch работает? У меня он выдает координаты за пределами границ поиска+всегда выполняеться успешно, даже если этого цвета нет... может я чего-то не понимаю? или есть другой метод для этой задачи?

    Всего записей: 1529 | Зарегистр. 03-08-2004 | Отправлено: 21:02 29-01-2009
    sproxy



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

    Цитата:
    Скачал, играюсь, подскажите PixelSearch работает? У меня он выдает координаты за пределами границ поиска+всегда выполняеться успешно, даже если этого цвета нет... может я чего-то не понимаю? или есть другой метод для этой задачи?

     
    а если так взглянуть:

    Код:
    ShellExecute('c:\windows\system32\notepad.exe')
    WinWaitActive('Безымянный - Блокнот')
    WinMove('Безымянный - Блокнот', '', 100, 100, 300, 300)
     
    Global $color_serch = '0xffffff'
     
    Global $x_serch = 140
    Global $y_serch = 220
     
    MouseMove($x_serch, $y_serch, 1)
     
    $color_serch = '0x' & Hex(PixelGetColor($x_serch, $y_serch), 6)
    ToolTip ('В этой точке найден pixel цвета: ' & $color_serch, $x_serch+10, $y_serch+20)
    Sleep(5000)
     
    ToolTip ('В этой же точке будет поиск pixel цвета: ' & $color_serch, $x_serch+10, $y_serch+20)
    Sleep(5000)
     
    _PixelSearch()
     
    ToolTip ('А теперь, в этой же точке поищим pixel цвета: 0x000000 (т.е. абсолютно черного цвета)', $x_serch+10, $y_serch+20)
    Sleep(7000)
     
    $color_serch = '0x000000'
    _PixelSearch()
     
    Func _PixelSearch()
        ;~ Поиск pixel цвета $color_serch в $x_serch, $y_serch точке
        $coord = PixelSearch($x_serch, $y_serch, $x_serch+1, $y_serch+1, $color_serch)
        If Not @error Then
            ToolTip ('Pixel цвета ' & $color_serch & ' найден в этой точке X, Y: ' & $coord[0] & ', ' & $coord[1], $x_serch+10, $y_serch+20)
            Sleep(5000)
        Else
            ToolTip ('Pixel цвета ' & $color_serch & ' НЕ найден в этой точке X, Y: ' & $x_serch & ', ' & $y_serch, $x_serch+10, $y_serch+20)
            Sleep(5000)
        EndIf
    EndFunc

    Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 23:32 29-01-2009
    seallaes

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

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

    насколько я понимаю, _IsPressed проверяет факт нажатия клавиши, то есть проверять все клавиши по очереди - это как бы не очень просто. да и опять же, там только проверять нажатие клавиш, а не вводимые символы. то есть не учитывается регистр и раскладка((( если только шифт проверять им проверять, но опять же, не видно какая раскладка. проверка через @KBLayout почему-то не работает, всё время показывает, что включена англ. раскладка.

    Всего записей: 12 | Зарегистр. 15-05-2008 | Отправлено: 12:53 30-01-2009 | Исправлено: seallaes, 12:55 30-01-2009
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    seallaes 18:37 29-01-2009
    Цитата:
    надо просто перехватывать вводимые символы с учетом шифта и расладки

    Для отлова есть пример в шапке, для проверки шифта (ведь имеется в виду регистр букв?) используем упомянутую _IsPressed - при событии нажатия клавиши просто проверяем нажатость Shift'а, и кстати, не уверен что стандартная функция с этим справится как надо, поэтому пользуясь случаем даю ссылку на мою _IsPresseedEx функцию, как раз на днях её выложил. С её помощью можно проверять нажатость вот так:
     

    Код:
    _IsPressedEx("SHIFT+[:ALPHA:]")

     
    Вернёт 1 если зажата клавиша Shift и одна из буквенных (alpha) клавиш.
     
    По поводу раскладки, также в шапке есть функция для определения текущей расклакди клавиатуры.
     
    sproxy 19:27 29-01-2009
    Цитата:
     когда быстро, хотя в принципе нормально, проводил с верху вниз  
     по всем рядам, или наоброт, не все появившиеся кнопки, вместо иконок,  
     менялись обратно на иконки

    Такое поведение наблюдалось в первых версиях, я кстати недавно обновил версию, попробуй перекачать.
     

    Цитата:
    после F5 моя реакци

    F5? Может F1 скорее?

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 16:37 30-01-2009 | Исправлено: ViSiToR, 16:40 30-01-2009
    seallaes

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

    Цитата:
    кстати, не уверен что стандартная функция с этим справится как надо,  

    почему?

    Цитата:
    По поводу раскладки, также в шапке есть функция для определения текущей расклакди клавиатуры

    не нашёл( ткни плиз в неё, если не трудно

    Всего записей: 12 | Зарегистр. 15-05-2008 | Отправлено: 17:27 30-01-2009
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    seallaes 17:27 30-01-2009
    Цитата:
    почему?

    Я думал что _IsPressed(10) (10 это Shift) вернёт 0 если кроме Shift'а будет зажата ещё другая клавиша, оказалось что это не играет роли. И кстати, если нужно отлавливать нажатия в верхнем регистре при зажатом Caps Lock, то проверять нужно так (после _IsPressed(10) = 0):
     

    Код:
     
    Global Const $VK_SCROLL = 0x91
    Global Const $VK_NUMLOCK = 0x90
    Global Const $VK_CAPITAL = 0x14
     
    $iCAPSLOCK_Is_On    = _Key_Is_On($VK_CAPITAL)
    $iNUMLOCK_Is_On     = _Key_Is_On($VK_NUMLOCK)
    $iSCROLLLOCK_Is_On  = _Key_Is_On($VK_SCROLL)
     
    $sMessage = StringFormat('CAPS LOCK Is On:\t\t%s\nNUM LOCK Is On:\t\t%s\nSCROLL LOCK Is On:\t%s', _
        $iCAPSLOCK_Is_On, $iNUMLOCK_Is_On, $iSCROLLLOCK_Is_On)
     
    MsgBox(64, '_Key_Is_On', $sMessage)
     
    Func _Key_Is_On($nVK_KEY, $vDLL = 'User32.dll')
        Local $a_R = DllCall($vDLL, "short", "GetKeyState", "int", $nVK_KEY)
     
        Return Not @error And BitAND($a_R[0], 0xFF) = 1
    EndFunc

     

    Цитата:
    не нашёл

    В Системные функции.

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 17:54 30-01-2009 | Исправлено: ViSiToR, 17:59 30-01-2009
    seallaes

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    мда. снимаю перед тобой шляпу.
    тогда может глупый вопрос. как узнать заголовок текущего окна. догадываюсь, что есть простое решение, но, ищучив справку, не нашёл(

    Всего записей: 12 | Зарегистр. 15-05-2008 | Отправлено: 18:15 30-01-2009
    pand



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    sproxy
    Как в втоем примере работает, а в моем вроде бы полностью аналогичным кроме цифр - нет причем если не вставлять дебаг-консоль из шапки, то такое ощущение что все игнорируеться нафиг, а если вставить - сыпяться ошибки на ровном месте... привожу код:

    Код:
            $coord = PixelSearch( 342, 944, 492, 950, 0xEE0A0A, 10)
            If Not @error Then  
                $IsThatAll = $IsThatAll + 1  
                MsgBox(0, "",  "X and Y are:" & $coord[0] & "," & $coord[1])
            EndIf

    Причем с дебаг консолькою возникает ошибка в строке с меседжем - дескать $coord не массив... дебаг никаких своих одноименных переменных не добавляет, я в замешательстве.

    Всего записей: 1529 | Зарегистр. 03-08-2004 | Отправлено: 19:46 30-01-2009 | Исправлено: pand, 20:05 30-01-2009
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    seallaes 18:15 30-01-2009
    Цитата:
     как узнать заголовок текущего окна

    WinGetTitle("[ACTIVE]").
     
    pand 19:46 30-01-2009
    Цитата:
    с дебаг консолькою возникает ошибка в строке с меседжем - дескать $coord не массив

    Я уже писал что могут быть с ним проблемы... в этом случае после строки PixelSearch ставится строка с дебагом, поэтому @error после неё вегда 0... нужно не @error проверять, а массивность, я этот урок для себя давно уже впитал:
     

    Код:
     
            $coord = PixelSearch( 342, 944, 492, 950, 0xEE0A0A, 10)  
            If IsArray($coord) Then  
                $IsThatAll = $IsThatAll + 1  
                MsgBox(0, "",  "X and Y are:" & $coord[0] & "," & $coord[1])  
            EndIf


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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 20:27 30-01-2009
    pand



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А вот оно что, тогда понятно.

    Всего записей: 1529 | Зарегистр. 03-08-2004 | Отправлено: 00:00 31-01-2009
    sproxy



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    pand
    хз...что с дэбагером....пока еще не применял его ни к чему - посему не занком что и как с ним. Кто му же если с ним могут быть небольшие траблы...
     
    Попробуй все переменные/массивы явно указать в начале скрипта.
     

    Цитата:
    а в моем вроде бы полностью аналогичным кроме цифр - нет

    чего ждем? ))) => код твоего примера пиши сюда, все вместе разберемся)
     
     
     
    Добавлено:

    Цитата:
    F5? Может F1 скорее?

    не-не, именно F5 (SciTE.exe > F5) ..далее конечно не допер и нажимал мышкой ))
     
    Добавлено:
    ..а мозги "пухнут" ....
     
    Есть: скрипт с GUI интерефейсом.
    и так как AutoIT не поддерживает мультипроцессорность, при отправки данных
    на FTP, как понимаю, ни спрятоть окошко в trey, ни уж тем боеее развернуть его,
    пока не закончится передача даных ftp, - неудастся, верно?
     
    вот и подумал, может сделать так:
     
    скрипт1: в нем весь GUI интерфейс
    скрипт2: в нем отправка дааных на FTP
     
    скрипту2 передовать данных при заупске его через коммандную строку,
    а вот, для кросаты, из скрипт2 в скрипт1, о ходе передачи данных на ftp
    (т.е. лог), передовать с помощью примера в шапке "Интеракция между несколькими скриптами"
     
    ....ну и таким же способом удобно будет сделать update программы...))
     
     
    подскажи, пожалуйста, ViSiToR, такое получится?
    как бы сказать, подвисание скрипта1 (так как в нем останется только GUI
    и "получение данных от других скриптов") - в таком варианте, не будет?
     
     
    я верно мыслю...?
     
    Добавлено:
    ЗЫ: чувствую, что вот уже сааавсем - сааааавсем немного...осталось.....до перехода на си ....но именно AutoIT я обожаю за его простоту.....как php кпримеру = верный надежный друг!  )))
     
     
    и не тут то было...
    в общем тот же пример из шапко, только вставил часы с обновлением
    каждые 100 мс просмотреть
     
    и вот пока идет обработка в скрипте Sender.au3
    то скрипт Reciever.au3 "паузится"....как понимаю
    в это время AU3_INTERACT.au3 ждет окончательного
    ответа из Sender.au3.....что не есть гуууд....
     
     
    как же быть? ....тперь буду "рыть" Multi Process Helper......

    Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 00:37 31-01-2009 | Исправлено: sproxy, 08:23 31-01-2009
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    sproxy 00:37 31-01-2009
    Цитата:
    я верно мыслю...?

    Да, если не заметил, я об этом уже пишу несколько страниц .
     

    Цитата:
    пока идет обработка в скрипте Sender.au3  
     то скрипт Reciever.au3 "паузится"

    Полный пример в студию, мне первый ни о чём не говорит, я натравил на него свой (из шапки) Sender.au3, и как ожидалось, запустились msgbox'ы, ничего необычного (таймер естественно приостановлен, т.к msgbox блокирует выполнение скрипта).

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 13:21 31-01-2009
    Z4masko



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

    Код:
     
    Dim $radiobutton[10]
    For $s = 1 to 10
        $p += 20
        $radiobutton[$s] = GUICtrlCreateRadio("Radio ", 10, $p, 120, 20)
        next
     

    или  
     

    Код:
     
    For $s = 1 to 10
        $p += 20
        $radiobutton & $s = GUICtrlCreateRadio("Radio ", 10, $p, 120, 20)
        next
     

    А хрен там, ни то ни другое не пашет.
    То есть хотелось бы создать 10 Радио кнопок, количество кнопок конечно же может меняться, поэтому и цикл For ... Next. В моём примере 10, но просто вместо 10 может стоять переменная количества этих кнопок

    Всего записей: 735 | Зарегистр. 05-11-2004 | Отправлено: 02:40 01-02-2009 | Исправлено: Z4masko, 02:41 01-02-2009
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Z4masko 02:40 01-02-2009
    Цитата:
    ни то ни другое не пашет

    Ну почему, первое то работает, там просто нужно объявлять не 10 а 11, ну или цикл пускать с нуля до 9-ти... или так:
     

    Код:
     
    Dim $radiobutton[11]
    $radiobutton[0] = 10
     
    For $s = 1 To $radiobutton[0]
        $p += 20
        $radiobutton[$s] = GUICtrlCreateRadio("Radio ", 10, $p, 120, 20)
    Next

     

    Цитата:
    или

    Можно так:
     

    Код:
     
    For $s = 1 To 10
        $p += 20
        Assign("radiobutton" & $s, GUICtrlCreateRadio("Radio ", 10, $p, 120, 20))
    Next


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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 03:10 01-02-2009
    sproxy



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

    Цитата:
    Да, если не заметил, я об этом уже пишу несколько страниц .

    тормаз, тооорррммазз....- это о себе
     

    Цитата:
    msgbox'ы
    , бьет себя по лбу, тооочна.....вот точна тормаззз...
     
     
    и так Reciever.au3
    Подробнее...
     
    Sender.au3
    Подробнее...
     
    Так как скрипт не успевал обрабатывать _SendMessage, т.е. из идущих подряд друг за другом _SendMessage - некотрые пропадают, пришлось до и после каждого _SendMessage вставить паузу Sleep(100), походу теперь все успевает.
     
    ДА - IT IS WORK !! хороши и почти отлично..
     
    И вот вопросы:
    1  Как понимаю с помощью этих средств ни как не передать в Reciever совсем "левые" данные, т.е. не те, что в $aFunctions[3][3] ?
     
    2  После выполнения и завершения Sender-а, Reciever, примерно 0,5-1 секунду еще как бы что то выполняет, т.е. в нем все работает, но если быстро его закрыть, после завершения Sender-а, то Reciever так просто не закроется, а зависает.....это конечно не принципиально, но....
     
    Кстати, а как пользоваться первым примером, который на манер без UDF?
    не допер....
     
     
     
    Добавлено:

    Цитата:
    Assign("radiobutton" & $s, GUICtrlCreateRadio("Radio ", 10, $p, 120, 20))

    о-го-го...ассинг....мега..крута...

    Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 03:17 01-02-2009
    Z4masko



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

    Цитата:
     
    Ну почему, первое то работает, там просто нужно объявлять не 10 а 11, ну или цикл пускать с нуля до 9-ти... или так:  

     
    спасибо)

    Всего записей: 735 | Зарегистр. 05-11-2004 | Отправлено: 03:29 01-02-2009
    vbrv

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, каким образом можно откомпилировать скрипт, чтобы при его запуске не вылетал UAC с сообщением о том, что "Неопознанная программа хочет получить доступ к этому компьютеру. Издатель не известен"?

    Всего записей: 65 | Зарегистр. 01-02-2009 | Отправлено: 11:01 01-02-2009
       

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

    Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 2)
    Widok (01-06-2010 13:08): Лимит страниц. Продолжаем здесь.


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru