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


Система IP-видеонаблюдения "Линия". Скачать бесплатную демо-версию для 16 камер. НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    gregaz



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Попытка использовать ф-ию : _ArrayDisplay для массивов,полученных с помощью  
    ф-ии : WM_NOTIFY приводит к зависанию скрипта с последующей системной ошибкой.
    Приходится использовать самопальные ф-ии  __ArrayDisplay.
    Есть ли корректный способ просмотра ?
     
    Пример :

    Код:
     
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <Array.au3>
    #include <GuiListView.au3>
     
    $GUI = GUICreate("Тест", 350, 200)
     
    Opt("GUIOnEventMode", 1)
    GUISetOnEvent($GUI_EVENT_CLOSE, "quit")
     
    $hListView= GUICtrlCreateListView ("col1        ",10,10,200,150)
    _GUICtrlListView_AddItem ($hListView, "Click me !")
     
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
    GUISetState()
     
    While 1
        Sleep(200)
    WEnd
    ;=========================================================================
    Func __ArrayDisplay($ar,$name='',$time=0)
    ;=========================================================================
    ; Имя функции               : Отображение одномерного массива в окне консоли
    ; Синтаксис                 : __ArrayDisplay(Имя архива,'Имя архива'[,Время отображения в MsgBox])
    ;=========================================================================

       Local $txt
       For $i =0 To UBound($ar)-1
           $txt&=StringFormat ("%-2d " & "%-s\n" ,$i, $ar[$i])
       Next
       ConsoleWrite('========================' & @CRLF &"Array : " &$name & @CRLF & '========================'& @CRLF)
       ConsoleWrite($txt)
       MsgBox(0,'Массив : '&$name,$txt,$time)
       Return $txt
    EndFunc ;=========> __ArrayDisplay
     
    ;===================================================

    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    ;==================================================================
        #forceref $hWnd, $iMsg, $iwParam
        Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR
        $hWndListView
    = $hListView
        If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)
     
        $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
        $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    ;~     $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
        $iCode = DllStructGetData($tNMHDR, "Code")
        Switch $hWndFrom
            Case $hWndListView
                Switch $iCode
                   Case $NM_CLICK ; Одинарный клик левой кнопкой мыши
                      Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
                      $aHit = _GuiCtrlListView_SubItemHitTest ($hWndFrom)
    _ArrayDisplay($aHit,'$aHit'); не работает
    __ArrayDisplay($aHit,'$aHit')
                EndSwitch
        EndSwitch
        Return
    $GUI_RUNDEFMSG
    EndFunc   ;==>WM_NOTIFY
     
    Func quit()
        Exit
    EndFunc
    ; ====> quit


    Всего записей: 79 | Зарегистр. 02-06-2007 | Отправлено: 05:45 26-02-2009
    AutoIT



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Всем ку.
    Уважаемые знатоки, пишу на автоите примерно пол года, в принципе, все понятно, все получаеца, но есть одно большое НО!!!
    Когда выполняеца код содержащий хоткеи, расчитанный на длительную работу, стоит нажать системную клавишу (Alt, Ctrl, Shift) в любых сочетаниях, как она остается зажатой, даже выход из скрипта ее не освобождает... Я голову сломал уже как это исправить... Есть соображения на этот счет?
     
    Пример.
    Код:
     
    HotKeySet ("{PAUSE}", "Go")
    Local $Lock = 0
     
    #cs
    Тело программы
    #ce
     
    While 1
        If $Lock = 1 Then
            #cs
            Действия
            #ce
        EndIf
        Sleep (100)
    WEnd
     
    #cs
    Назначенные функции
    #ce
     
    Func Go ()
        If $Lock = 1 Then
            $Lock = 0
        Else
            $Lock = 1
        EndIf
    EndFunc
     
    Вышеуказанная конструкция, выполняясь у меня на машине, неприменно оставит зажатой клавишу "Alt", если воспользоваться небезизвестной комбинацией клавишь "Alt + Tab" во время выполнения скрипта...

    Всего записей: 77 | Зарегистр. 04-12-2008 | Отправлено: 09:50 26-02-2009
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    AutoIT 09:50 26-02-2009
    Цитата:
    Вышеуказанная конструкция, выполняясь у меня на машине, неприменно оставит зажатой клавишу "Alt", если воспользоваться небезизвестной комбинацией клавишь "Alt + Tab" во время выполнения скрипта...

    Не могу подтвердить, этот скрипт подобного поведения не воспроизводит...
     
    P.S
    Раз уж ник такой темонаправленный , то хотябы код в соответствующие теги заключайте ([cоde]).
     
    Добавлено:
    gregaz 05:45 26-02-2009
    Цитата:
    Попытка использовать ф-ию : _ArrayDisplay для массивов,полученных с помощью  
     ф-ии : WM_NOTIFY приводит к зависанию скрипта с последующей системной ошибкой

    А справку почитать?
     

    Цитата:
    Warning: blocking of running user functions which executes window messages with commands such as "Msgbox()" can lead to unexpected behavior, the return to the system should be as fast as possible !!!

     
    Т.е внутри WM_NOTIFY даже Msgbox не желательно использовать, это блокирует выполнение.

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

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



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Поймал я тут троя на флешку написанного на AutoIt
    В кратце что выявил:

    кидает сам себя в C:\WINDOWS\system32\csrcs.exe
    ----------
    меняет в реестре:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
    Hidden  2
    ShowSuperHidden  0
     
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
    Shell  Explorer.exe csrcs.exe
    ----------
    создаёт в реестре:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\Transports\Decoupled\Server
    CreationTime
    MarshaledProxy
    ProcessIdentifier
     
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run
    csrcs  C:\WINDOWS\system32\csrcs.exe

     
    Воспользовался некой прогой (убрал линк по совету ViSiToR'a), блин весь код в гавно или афтар так пишет
    А может я чего-то недодекомпилил.
    Кому не лень покопаться посмотрите, хочу узнать хост откуда он качает чего-то (может апдейты) и вообще что он делает. А хост потом заобузить.
     
    newvirus.rar (пасс: 1)

    Всего записей: 1565 | Зарегистр. 01-05-2006 | Отправлено: 11:54 26-02-2009 | Исправлено: ynbIpb, 20:43 26-02-2009
    gregaz



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

    Цитата:
    Т.е внутри WM_NOTIFY даже Msgbox не желательно использовать, это блокирует выполнение.

     
    Это я для простоты показал внутри  WM_NOTIFY
    А если не внутри , а далее скажем :
     
    Получил я с помощью WM_NOTIFY  ListViewItem ($full) c полным именем папки,
    Далее или позже получаю массив  : $FileList=_FileListToArray($full,'*',0)
    Как же просмотреть его содержимое ?
    Возможно это связано с тем ,что ф-ия _ArrayDisplay сама  использует  свой  ListView ?
     

    Всего записей: 79 | Зарегистр. 02-06-2007 | Отправлено: 14:21 26-02-2009 | Исправлено: gregaz, 14:32 26-02-2009
    vicbox777



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Такой вопрос, нужно узнать статус статус CD рома, открыт или закрыт, но не выходит.
    Суть такая: if открыт then закрыть else if закрыт then открыть exit.

    Всего записей: 162 | Зарегистр. 17-06-2008 | Отправлено: 15:01 26-02-2009 | Исправлено: vicbox777, 15:07 26-02-2009
    AutoIT



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

    Цитата:
    Не могу подтвердить, этот скрипт подобного поведения не воспроизводит...

    А что может вызывать подобную реакцию??? Догадки есть? Клава PS/2.

    Всего записей: 77 | Зарегистр. 04-12-2008 | Отправлено: 15:28 26-02-2009
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    gregaz 14:21 26-02-2009
    Цитата:
    Как же просмотреть его содержимое ?

    В целях отладки, или показать пользователю?
     
    А вообще я не понимаю проблему, если...

    Цитата:
    не внутри , а далее скажем


     
    Покажи пример где оно не работает.
     
    vicbox777 15:01 26-02-2009
    Цитата:
    нужно узнать статус статус CD рома, открыт или закрыт

    Вот тут есть библиотека «CDTray_Routines.au3» для подобной задачи.
     
    Добавлено:
    AutoIT 15:28 26-02-2009
    Цитата:
    Догадки есть?

    Проблема с клавиатурой? я логического отношения не вижу, между клавишей «Alt», и заданной по «HotKeySet» клавиши «Pause».

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 15:44 26-02-2009
    araneon



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем здрасти, есть вопросик. Вот я сделал меню в трее с разделами  типа Офис, в нутри него разные офисные приложения (Калькулятор, блокнот, Word, Excel) в общем таких разделов 3 и все под разные задачи. Ниже всех разделов есть два пункта (О программе) и (Выход) Необходимо добавить 4-ый РАЗДЕЛ, но чтобы он был по умолчанию НЕАКТИВНЫМ, а выбирая пункт меню (О программе) в котором есть поле для ввода пароля, ввести пароль (допустим 12345), становилось АКТИВНЫМ. Но после перезапуска программы снова было НЕАКТИВНЫМ. Подскажите как такую штуку реализовать ???

    Всего записей: 152 | Зарегистр. 18-07-2008 | Отправлено: 16:02 26-02-2009
    frb_noname

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

    Цитата:
    Поймал я тут троя на флешку написанного на AutoIt  

     
    Сравнил я его с тем что ловлю у себя по сетке последние пару месяцев. Почти такие же екзешники с похожим размером. Имя - набор букв. Иногда без атрибута "скрытый". Рядом всегда появляется скрытый файл khs всегда нулевой длинны.
     
    Мой НОД определяет его (но почему-то не во всех случаях) как Autoit.EP.Gen червь.  
    Раскидается эта гадость у меня по сетке по расшаренным папкам (на кириллицу не ведется , и win98 также не затрагивает). Убиваю или руками или НОД делает свое. Но периодически появляются опять.
     
    Я вот думаю, не случайно мы говорим об Аutoit-овском трояне именно здесь. Видать подцепили-то его в одном месте - где-то на ресурсах, связанных с Autoit-om...
     
    Вопрос в том, как избавиться полностью ?

    Всего записей: 41 | Зарегистр. 03-11-2008 | Отправлено: 16:08 26-02-2009
    vicbox777



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

    Цитата:
    Вот тут есть библиотека «CDTray_Routines.au3» для подобной задачи.

    Библиотека то есть, и я ее даже мучал, и себя заодно, но все что смог добится, так это МsgBox-а с сообщением о том что дисковод у меня в хорошем состоянии, и еще предложение заблокировать/разблокировать его, и все. Нужна ваша помощь.

    Всего записей: 162 | Зарегистр. 17-06-2008 | Отправлено: 16:18 26-02-2009
    ynbIpb



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    2 frb_noname, да не... ничего необычного - обычный трой.
    Вопрос как его декомпилить в читабельный вид? И вообще реально ли это сделать?
    Та прога, которую я привёл выше как мне кажется не очень читабельный вид делает. или я не умею пользваться ей.

    Всего записей: 1565 | Зарегистр. 01-05-2006 | Отправлено: 17:05 26-02-2009 | Исправлено: ynbIpb, 17:22 26-02-2009
    Re0g

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как с помощью DriveGetLabel  вывести сообщение с метками всех жёстких дисков?

    Всего записей: 113 | Зарегистр. 13-10-2008 | Отправлено: 17:12 26-02-2009
    vladIMIRDAO

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

    Всего записей: 7 | Зарегистр. 28-01-2009 | Отправлено: 17:31 26-02-2009
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    frb_noname 16:08 26-02-2009
    Цитата:
    Видать подцепили-то его в одном месте - где-то на ресурсах, связанных с Autoit-om

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

    Цитата:
     как избавиться полностью ?

    Поставить нормальный антивирус, например Avast, он меня ещё не подводил.
     
    vicbox777 16:18 26-02-2009
    Цитата:
    Нужна ваша помощь

     
    Вот пример.

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 17:52 26-02-2009 | Исправлено: ViSiToR, 18:00 26-02-2009
    sproxy



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

    Код:
    #region: - Include
        #include <CDTray_Check.au3>
        #include <GUIComboBox.au3>
        #include <GUIConstantsEx.au3>
        #include <WindowsConstants.au3>
    #endregion
     
    #region: - Option

        Opt('GUIOnEventMode',       1)
        Opt('MustDeclareVars',      1)
        Opt('TrayIconDebug',        1)
        Opt('TrayIconHide',         0)
    #endregion
     
    #region: - Global

        Global  $hWinMain, $aCdrom, $sCdrom, $i, $hCdromCombo
    #endregion
     
    #region: GUI

        $hWinMain = GUICreate('Test', 400, 400, -1, -1)
            GUISetOnEvent($GUI_EVENT_CLOSE,     '_Exit_pro')
     
        $hCdromCombo = GUICtrlCreateCombo('', 50, 25, 85, 25, $CBS_DROPDOWNLIST)
     
        GUICtrlCreateButton('Проверить состояние CD-ROM', 50, 50, 200, 25)
            GUICtrlSetOnEvent(-1, '_CDROM_Check')
    #endregion
     
    #region: - После создания всех GUI

        $aCdrom = DriveGetDrive('CDROM')
        If NOT @error Then
            For
    $i = 1 to $aCdrom[0]
                $aCdrom[$i] = StringUpper($aCdrom[$i])
                $sCdrom &= '  ' & $aCdrom[$i] & '\'
                If $i < ($aCdrom[0]) Then $sCdrom &= '|'
            Next
            GUICtrlSetData($hCdromCombo, $sCdrom, '  ' & $aCdrom[1] & '\')
        EndIf
        GUISetState(@SW_SHOW, $hWinMain)
    #endregion
     
    #region: - Sleep, Exit

    While 1
        Sleep(10)
    WEnd
     
    Func
    _Exit_pro()
        Exit
    EndFunc

    #endregion
     
    Func _CDROM_Check()
        If $sCdrom == '' Then Return
        If
    IsTrayOpen($aCdrom[_GUICtrlComboBox_GetCurSel($hCdromCombo) + 1]) == 1 Then
            MsgBox(64, 'CD-ROM Check', 'Лоток ' & $aCdrom[_GUICtrlComboBox_GetCurSel($hCdromCombo) + 1] & '  Открыт', -1, $hWinMain)
        Else
            MsgBox(64, 'CD-ROM Check', 'Лоток ' & $aCdrom[_GUICtrlComboBox_GetCurSel($hCdromCombo) + 1] & '  Закрыт', -1, $hWinMain)
        EndIf
    EndFunc

     
    Добавлено:
    vladIMIRDAO

    Цитата:
    Существуют ли Gui функции что бы можно было каждый раз выбирать путь нахождения  или сохранения файла.

    т.е., как / куда?
     
    есть макросы:
    @ScriptName - Длинное название текущего скрипта.
    @ScriptDir - Папка, содержащая текущий скрипт, без конечного обратного слэша.  
    @ScriptFullPath - Полное название файла сценария. Тождественно равно @ScriptDir & "\" & @ScriptName
     
    есть:
    FileOpenDialog - Отобразить стандартный диалог открытия файла.
    FileSaveDialog - Отобразить стандартный диалог сохранения файла.
    FileSelectFolder - Отобразить стандартный диалог просмотра папок.  
     
    ...это?
     

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



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    ynbIpb 17:05 26-02-2009
    Цитата:
    Та прога, которую я привёл выше как мне кажется не очень читабельный вид делает

    Этот скрипт обфускатором обработан, т.е закодирован специально. Не уверен что можно декодировать...

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

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



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

    ynbIpb

    Цитата:
    newvirus.rar (пасс: 1)

    так а где исходник? или есть методы декомпиляции?

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



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

    Цитата:
    Всем здрасти, есть вопросик. Вот я сделал меню в трее с разделами  типа Офис, в нутри него разные офисные приложения (Калькулятор, блокнот, Word, Excel) в общем таких разделов 3 и все под разные задачи. Ниже всех разделов есть два пункта (О программе) и (Выход) Необходимо добавить 4-ый РАЗДЕЛ, но чтобы он был по умолчанию НЕАКТИВНЫМ, а выбирая пункт меню (О программе) в котором есть поле для ввода пароля, ввести пароль (допустим 12345), становилось АКТИВНЫМ. Но после перезапуска программы снова было НЕАКТИВНЫМ. Подскажите как такую штуку реализовать ???

     
    Вот примерно так:

    Код:
    #NoTrayIcon  
    #include <ModernMenuRaw.au3>  
    #include <GUIConstants.au3>
    ;создание окна о программе
       
    $Form = GUICreate("О программе", 267, 186, 193, 178)
    $Pas_Input =
    GUICtrlCreateInput("", 56, 144, 113, 21)
    $Label1 =
    GUICtrlCreateLabel("Открыть дополнительные функции", 0, 120, 264, 20)
    GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
    $Label2 =
    GUICtrlCreateLabel("Пароль ", 0, 144, 56, 20)
    GUICtrlSetFont(-1, 10, 400, 2, "MS Sans Serif")
    $Ok_Button =
    GUICtrlCreateButton("Ок", 176, 144, 89, 20, 0)
    $Exit_Button =
    GUICtrlCreateButton("Выход", 0, 168, 265, 17, 0)
    GUISetState(@SW_HIDE,$Form)
     
     
     
    $hTrayIcon =
    _TrayIconCreate("My Tray App")  
    _TrayIconSetClick(-1, 16)  
    _TrayIconSetState()  
    $nTrayMenu =
    _TrayCreateContextMenu()  
     
    $Offis_Traymenu =
    _TrayCreateMenu("Оффис")  
    _TrayItemSetIcon(-1, "", 0)
    $Calc_TrayItem    =
    _TrayCreateItem("Калькулятор", $Offis_Traymenu, -1, 1)
    _TrayItemSetIcon(-1, "calc.exe", 0)  
     
    $Word_TrayItem =
    _TrayCreateItem("MS Word",$Offis_Traymenu, -1,1)  
    _TrayItemSetIcon(-1, @ProgramFilesDir &"\Microsoft Office\Office12\WINWORD.EXE", 0)  
    $Notepad_TrayItem =
    _TrayCreateItem("Блокнот", $Offis_Traymenu, -1,1)  
    _TrayItemSetIcon(-1, "notepad.exe", 0)  
     
    $Other_Traymenu =
    _TrayCreateMenu("Разное")  
    _TrayItemSetIcon(-1, "", 0)
    GUICtrlSetState( $Other_Traymenu,$GUI_DISABLE )
    $CmdLine_TrayItem =
    _TrayCreateItem("Коммандная строка", $Other_Traymenu, -1,1)  
    _TrayItemSetIcon(-1, "cmd.exe", 0)  
     
    $MSPaint_TrayItem =
    _TrayCreateItem("MSPaint",$Other_Traymenu,-1,1)  
    _TrayItemSetIcon(-1, "mspaint.exe", 0)  
    _TrayItemSetIcon(-1, "", 0)  
    $help_TrayItem =
    _TrayCreateItem("О программе")  
    _TrayItemSetIcon(-1, "explorer.exe", -8)  
    _TrayCreateItem("")  
    _TrayItemSetIcon(-1, "", 0)  
    $Exit_TrayItem =
    _TrayCreateItem("Выход")  
    _TrayItemSetIcon(-1, "shell32.dll", 28)  
     
     
    _SetTrayIconBkColor(0xC46200)  
    _SetTraySelectBkColor(0x087272)  
    _SetTraySelectTextColor(0xFFFFFF)  
     
     
    While 1  
    Switch GUIGetMsg()  
    Case $GUI_EVENT_CLOSE,$Exit_Button
    GUISetState(@SW_HIDE,$Form)
    Case $Calc_TrayItem  
    Run("Calc.exe")  
    Case $Notepad_TrayItem  
    Run("Notepad.exe")  
    Case $CmdLine_TrayItem  
    Run("Cmd.exe")  
    Case $MSPaint_TrayItem  
    Run("MSPaint.exe")  
    Case $Word_TrayItem
    Run (@ProgramFilesDir &"\Microsoft Office\Office12\WINWORD.EXE")
    Case $help_TrayItem
       
    GUISetState(@SW_SHOW,$Form)
    Case $Exit_TrayItem  
    _TrayIconDelete($hTrayIcon)  
    Exit  
    Case
    $Ok_Button
        $ReadPass
    =
    GUICtrlRead($Pas_Input)
       
    $pass = "1234"
       
    if $ReadPass<1 then
                   
    MsgBox(0,"Ошибка","Вы не ввели пароль, а кнопку жмете, как прикажете понимать?")
       
    else
        if
    $ReadPass=$pass then
               
    GUICtrlSetState( $Other_Traymenu,$GUI_Enable )
               
    MsgBox(0,"Ошибка","Меню разблокированно!")
               
    GUISetState(@SW_HIDE,$Form)
       
    else
        if
    $ReadPass<>$pass then
               
    MsgBox(0,"Ошибка","Введенный пароль не верный")
       
    Endif
        Endif
        Endif
    EndSwitch  
    WEnd

     
    Для работы скрипта нужна библиотека ModernMenuRaw.au3, но думаю она в вас имеется, ибо как бы без нее делали красивые пункты в трей меню...
     
    Добавлено: ViSiToR спасибо, теперь понятно. Sproxy, код воде несложный, но библиотеки CDTray_Check.au3 у меня нету, а где взять, не знаю, гугл - молчит.

    Всего записей: 162 | Зарегистр. 17-06-2008 | Отправлено: 18:48 26-02-2009 | Исправлено: vicbox777, 19:03 26-02-2009
    sproxy



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

    Цитата:
    но библиотеки CDTray_Check.au3 у меня нету

    уххх....поспешил, вот она, CDTray_Check.au3:
     
    Подробнее...

    Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 19:36 26-02-2009 | Исправлено: sproxy, 19:37 26-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.Board
    © Ru.Board 2000-2017

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru