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

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

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

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

   

AddXL

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

AutoIt3

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

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

 
Помощь по AutoIT:
  • Справку на русском (и не только) вы всегда(?) сможете найти тут
  • Справочник по командам rundll32
  • Русский справочник по API-функциям
  • Помощь по Регулярным выражениям
  • AutoIt v3: Your Quick Guide (652 КБ) - Ваш быстрый гид в мир AutoIt-а (книга в формате pdf)
     
    Инструметы для 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:
  • Коллекция AutoIt скриптов от Sanja Alone
  • Коллекция скриптов на http://msfn.org
  • Пополняющийся со временем сайт с полезными утилитами и функциями на AutoIt
  • Desktop Icons Restorator - Скрипт-Программа для сохранения/восстановления позиции иконок р.стола.
  • CaptureIt - Утилита предназначена для захвата изображений с вашего экрана.
  • SwitchIt - Скрипт для конвертирования выделенного текста
  • Скрипт расскраски кода AutoIt для публикации в форумах
     
    Общие вопросы и решения на Autoit:
  • Обработчик скриптов добавляющий отладчик (debugger)
  • Интеракция между несколькими скриптами
  • Пример использование интеракции между скриптами - Добавление элементов GUI с внешнего модуля
  • Копирование большого файла с отображением данных прогресса
  • Создание динамического меню в Tray Icon (значёк в области уведомления)
  • Пример создания своего мастера (Wizard)
  • Метод позволяющий запускать код VBS не создавая временных файлов
  • Описание функции GUIRegisterMsg()
  • Пример перехвата вводимых символов с клавиатуры
  • Пример деактивирования TabItem
  • Пример вывода лога в Edit-поле (с поддержкой форматирования текста)
  • Пример остановки/начало выполнения скрипта + Слежение за б.обмена с заменой неподдерживаемых в имени файла символов
  • Пример использования меню с иконками (ModernMenu.au3) -> Список программ в меню значка в системном трее
     
  • Как по PID процесса вычислить путь запускаемого файла
  • Получение IP по подключенному сокету
     
    Отдельные функции (UDF):
  • Функции Отключения/Подключения к Интернету
  • Функция проверки подключения к Интернету
  • Функция для получения структуры директории включая подкаталоги
  • Функция для поиска в файлах
  • Функция для смены разрешения экрана
  • Функция для смены раскладки клавиатуры в определённом окне
  • Функция для получения списка процессов с допол. инфой (путь к исполняемому файлу и др.)
  • Функции и пример для отображения детального процесса закачки файла
  • Функция (и пример использования) для отображения стильного диалога “О Программе” - [Усовершенствованная версия]
  • Функция возвращает пронумерованный список всех классов определённого окна + функция получения хендлов для этих классов
  • Функция для получения заголовка окна (или его идентификатора) по ID процесса (PID)
  • Функция _StringIsUTF8Format() + _StringToUTF() - Первая проверяет если строка содержится в UTF-8 формате, вторая преобразовывает строку в UTF-8 формат
  • Функция _FileOpenDialogEx - Возвращает массив (или строку) с полными путями к выбранным файлам
  • _AU3_Lib* Функции - Предназначены для обработки подключаемых библиотек через #include
  • Функция транслитерации строки
  • Расширенная библиотека для работы с реестром
     
    За шапкой следит ViSiToR  

  • Всего записей: 6 | Зарегистр. 24-11-2005 | Отправлено: 13:20 24-11-2005 | Исправлено: Maz, 11:50 17-04-2017
    Maza Faka



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

    Цитата:
    В каком редакторе код набираешь?  
    Если честно очень не удобно обрабатывать такой код, особенно при проверке ошибок, и тем более код не свой

     
    Редактор SciTE4AutoIt3, просто когда много раз исправляешь код, он теряет свою удобочитабельность

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 16:23 17-07-2007
    ViSiToR



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

    Цитата:
    когда много раз исправляешь код, он теряет свою удобочитабельность

    Мой тебе (и вообще всем) совет - привыкай сразу набирать/править код в удобочитаемом виде (с отводками табов и автоматической подстановкой регистра букв, тем более что SciTE это позволяет ), чтобы потом не пришлось переделывать груды скриптов (когда захочется красивого вида кодов, ну или чтобы другим его давать - исходный код в программе и т.п)

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 16:44 17-07-2007 | Исправлено: ViSiToR, 16:46 17-07-2007
    Maza Faka



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

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

     
    Можно примерчик?

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 19:18 17-07-2007
    Koppew



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Maza Faka
    дык ведь был уже примерчик http://forum.ru-board.com/topic.cgi?forum=5&topic=17705&start=180#2

    Всего записей: 36 | Зарегистр. 14-09-2005 | Отправлено: 19:42 17-07-2007
    ViSiToR



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

    Цитата:
    Можно примерчик?

     
    Для начала попробуй так:
     

    Код:
     
    $path = "d:\music"
    $search = FileFindFirstFile("d:\music\*.*")
     
    While 1
        $file = FileFindNextFile($search)
        If @error Then ExitLoop
        $full_file = $path & "\" & $file
        If StringInStr(FileGetAttrib($full_file), "D") > 0 Then Find_mp3($full_file, $file)
    WEnd
     
    FileClose($search)
     
    Func Find_mp3($full_file, $file)
        $var = FileFindFirstFile($full_file & "\*.*")
        While 1
            $value = FileFindNextFile($var)
            If @error Then ExitLoop
            $value = $full_file & "\" & $value
            If StringInStr(FileGetAttrib($value), "D") > 0 Then Find_mp3($value, $file)
            If StringRight($value, 3) = "mp3" Then
                $list = FileOpen("C:\PlayList\" & $file & ".m3u", 1)
                If $list <> -1 Then
                    FileWriteLine($list, $value)
                    FileClose($list)
                EndIf
            EndIf
        WEnd
        FileClose($var)
    EndFunc
     

     
    Если не сработает как надо... отпишись, попробую написать пример с созданием массива всех нужных файлов, и потом по циклу прописывания в них нужных данных... видимо придётся писать двумерный массив...
     
    Добавлено:
    Maza Faka
    Кстати, а зачем ты проверяешь вхождение mp3 в трёх последних буквах пути? можно (и это ускорит работу) так:
     

    Код:
    If StringRight($value, 3) = "mp3" Then...


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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 01:55 18-07-2007 | Исправлено: ViSiToR, 02:01 18-07-2007
    Maza Faka



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

    Цитата:
     FileWriteLine($list, $value)  
                    FileClose($list)

    Для чего закрывать $list, внутри цикла понятно, а зачем закрывать "$search" вне цикла?

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 08:18 18-07-2007
    Koppew



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

    Всего записей: 36 | Зарегистр. 14-09-2005 | Отправлено: 09:04 18-07-2007
    ViSiToR



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

    Цитата:
    зачем закрывать "$search" вне цикла?

    Из справки по AutoIt:
     

    Цитата:
    Autoit normally closes all files upon termination, but explicitly calling FileClose is still a good idea.

     
    Т.е я в принципе не знаю, закончена ли работа скрипта после этого цикла, или нет, поэтому ничего мне не мешает закрыть открытый поиск (“Дела нужно доводить до конца”  © ).
     
    Koppew

    Цитата:
    это ведь займет немного больше времени, чем текущий вариант? т.е. в чем выигрыш от использования массивов?

    Да, возможно времени уйдёт больше, а возможно и нет, но это будет надёжнее...
     
    А также учитываем, что при пробежке по созданному массиву, мы можем ОДИН раз открыть файл, и закрыть его по окончанию, это сохранит нам много времени на обработку (открытия файла и его закрытия при каждой записи)... впрочем в текущем примере, нет необходимости вообще открывать файл (если это делается при каждом обращении), т.к сама функция FileWriteLine обладает возможностью открывать файл.
     
    Хотя можно открыть и тут файл в самом начале... и закрыть по завершению (это будет во много раз быстрее):
     

    Код:
    $path = "d:\music"
    $search = FileFindFirstFile("d:\music\*.*")
     
    While 1
        $file = FileFindNextFile($search)
        If @error Then ExitLoop
        $full_file = $path & "\" & $file
        If StringInStr(FileGetAttrib($full_file), "D") > 0 Then Find_mp3($full_file, $file)
    WEnd
     
    FileClose($search)
     
    Func Find_mp3($full_file, $file)
        $list = FileOpen("C:\PlayList\" & $file & ".m3u", 1)
        $var = FileFindFirstFile($full_file & "\*.*")
        While 1
            $value = FileFindNextFile($var)
            If @error Then ExitLoop
            $value = $full_file & "\" & $value
            If StringInStr(FileGetAttrib($value), "D") > 0 Then Find_mp3($value, $file)
            If StringRight($value, 3) = "mp3" And $list <> -1 Then FileWriteLine($list, $value)
        WEnd
        FileClose($list)
        FileClose($var)
    EndFunc

     
    Но опять же, смешивать режимы открытия файлов может привести к неработоспособности функции (поиска и записи).

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 18:57 18-07-2007 | Исправлено: ViSiToR, 19:01 18-07-2007
    Koppew



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

    Цитата:
    Хотя можно открыть и тут файл в самом начале... и закрыть по завершению (это будет во много раз быстрее)

    не... если будет много вложенных папок - не получается выгоды тож... будет куча открытых поисков и файлов...
     
    ну да ладно... вопросик тут возник
     
    есть ссылка вида javascript:function(param); можно ли вызвать ее в браузере с помощью AutoIt? не имитируя клика мыши... (мдя... нечетко я вопросы ставлю)

    Всего записей: 36 | Зарегистр. 14-09-2005 | Отправлено: 19:31 18-07-2007
    ViSiToR



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

    Цитата:
    будет куча открытых поисков и файлов...

    Почему? по завершению функции файл закрывается
     

    Цитата:
     можно ли вызвать ее в браузере с помощью AutoIt?

    В браузере по умолчанию? я бы и сам хотел узнать как такое сделать... а если в каком то специфическом браузере (возьму за пример Opera), то можно так:
     

    Код:
    Run('Opera.exe "javascript:function(param);"')

     

     
    Добавлено:
    Можно ещё и так (правда запускается только в IE - у меня) :
     

    Код:
    ShellExecute('javascript:function(param);')


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

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



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

    Цитата:
    Почему? по завершению функции файл закрывается

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

    Всего записей: 36 | Зарегистр. 14-09-2005 | Отправлено: 20:18 18-07-2007
    ViSiToR



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

    Цитата:
    вызвать надо ссылку на уже открытой странице в открытом браузере

    В каком браузере?
    Если IE, то для этого есть немаленькая библиотека IE.au3, в ней есть примеры...
     

    Код:
    #include <IE.au3>
     
    $oIE = _IECreate("www.autoitscript.com")
    _IENavigate ($oIE, "javascript: alert('test')", 0)

     
    Ну или попробуй сразу послать....
     

    Код:
     
    Opt("WinTitleMatchMode", 4)
     
    $IE_Title = WinGetTitle("classname=IEFrame")
     
    $OldAddress = ControlGetText($IE_Title, "", "Edit1")
    ControlSetText($IE_Title, "", "Edit1", "javascript: alert('test')")
    WinActivate($IE_Title)
    ControlSend($IE_Title, "", "Edit1", "{Enter}")
    WinWaitClose("Microsoft Internet Explorer")
    ControlSetText($IE_Title, "", "Edit1", $OldAddress)
     


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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 21:15 18-07-2007 | Исправлено: ViSiToR, 21:16 18-07-2007
    kpuk



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Народ подскажите как например с формы или какогонить элемента получить путь если на них перетащить файл.
    подробно: я перетягиваю на форму ехе и отпускаю туда, а потом получаю путь к этому ехе

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

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

    Всего записей: 1099 | Зарегистр. 07-03-2004 | Отправлено: 23:16 18-07-2007
    Koppew



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ViSiToR
    первый пример работает, а второй че-то нет но идею я уловил...
     
    кста, а есть ли где-нить библиотека для работы с акцессом?

    Всего записей: 36 | Зарегистр. 14-09-2005 | Отправлено: 23:52 18-07-2007
    ViSiToR



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

    Цитата:
    как например с формы или какогонить элемента получить путь если на них перетащить файл.

     

    Код:
     
    #include <GuiConstants.au3>
     
    $Gui = GuiCreate("Drop Test", 220, 100, -1, -1, -1, $WS_EX_ACCEPTFILES+$WS_EX_TOPMOST)
     
    $InputForm = GUICtrlCreateInput("Drop file here", 10, 40, 200)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    GUICtrlSetColor(-1, 0xCCCCC0)
     
    GUISetState()
     
    While 1
        $Msg = GUIGetMsg()
        Switch $Msg
            Case -3
                Exit
            Case $GUI_EVENT_DROPPED
                GUICtrlSetData($InputForm, @GUI_DragFile)
                GUICtrlSetColor($InputForm, 0x000000)
                MsgBox(262144+64, "Dropped", "You dropped:" & @LF & @GUI_DragFile)
        EndSwitch
    WEnd
     

     
    В AutoIt встроенными средствами, не предусмотрено перетаскивание более одного файла... но это возможно сделать используя динамический массив и GuiRegistMsg... если нужно могу позже выложить пример.
     
    Koppew

    Цитата:
    есть ли где-нить библиотека для работы с акцессом?

    Где то на оф. форуме пробегало...
     
    Добавлено:

    Цитата:
    Где то на оф. форуме пробегало...

    Вроде вот что-то.

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 02:12 19-07-2007
    Koppew



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

    Цитата:
    Вроде вот что-то.

    золотой человек, право слово, дай я тебя расцелую
     
    пошел вкуривать...

    Всего записей: 36 | Зарегистр. 14-09-2005 | Отправлено: 10:06 19-07-2007
    Maza Faka



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    ViSiToR
    Накарябал GUI-твикер, результат: громоздкий и нерабочий скрипт.
    Плз посмотри и посоветуй, как можно сделать красивее.
    Подробнее...

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 12:41 20-07-2007 | Исправлено: Maza Faka, 12:54 20-07-2007
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Maza Faka
    Первым делом, я прогнал скрипт на проверку синтаксиса, в SciTE есть встроенная проверка синтаксиса по Ctrl F5 (для перехода к следующей ошибке, используй клавишу F4) - сразу выскочили все ошибки ...
     
    У тебя зачем то существует в конце цикла ExitLoop и EndSelect (лишний), и сразу после них ещё один (лишний ) Wend...
     
    Просто с конца твоего скрипта убери это:
     
     

    Код:
            ExitLoop  
            EndSelect  
        WEnd

     
    И всё работает

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

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



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

    Цитата:
    У тебя зачем то существует в конце цикла ExitLoop и EndSelect

    Понятия не имею откуда они взялись, в исходном коде их нет, наверное когда редактировал, так получилось. А не работает этот фрагмент:

    Код:
     
    Case $msg = $ok
             Select
             Case $print1 = $GUI_CHECKED
                 RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RemoteComputer\NameSpace\{2227A280-3AEA-1069-A2DE-08002B30309D}")
             Case $sched1 = $GUI_CHECKED
                 RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RemoteComputer\NameSpace\{D6277990-4C6A-11CF-8D87-00AA0060F5BF}")
             Case $chkdsk1 = $GUI_CHECKED
                 RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager", "AutoChkTimeOut", "REG_DWORD", "3")
            EndSelect
            ExitLoop
     

    выполняется только это условие:

    Код:
     
    Case $msg = $ok
             Select
             Case $print1 = $GUI_CHECKED
                 RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RemoteComputer\NameSpace\{2227A280-3AEA-1069-A2DE-08002B30309D}")
     

    а другие условия игнорируются, почему?

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 07:39 21-07-2007
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Maza Faka
    У тебя в корне неверно построено всё...
     
    Зачем задавать значения при нажатии чекбоксов?
    Ты проверяешь выбор (Select), там будет происходить только одно условие/случай (первое найденное)...
     
    Вот поизучай
     

    Код:
     
    #include <GUIConstants.au3>
     
    GUICreate("Easy Tweaker for client workstation", 350, 280, -1, -1, -1, $WS_EX_CLIENTEDGE)
    GuiSetIcon("regedit.exe", 0)
    ;GUISetBkColor(0xE0FFFF
     
    ;Label
    GUICtrlCreateLabel("Каталог для временных (temp)файлов", 10, 185, 200, 15)
    GUICtrlCreateLabel("Настройка прокси", 10, 235, 100, 15)
     
    ;Buttons
    $ok = GuiCtrlCreateButton("Ok", 200, 250, 60, -1, $BS_FLAT)
    $cancel = GUICtrlCreateButton("Cancel", 285, 250, 60, -1, $BS_FLAT)
     
    ;Input
    $tmp = GUICtrlCreateInput(@HomeDrive & "\Temp", 10, 200, 100, 17, -1)
    GUICtrlSetTip(-1, "Введите путь для папки с временными файлами")
    $proksi = GUICtrlCreateInput("192.168.0.11:8080", 10, 250, 100, 17, -1)
    GUICtrlSetTip(-1, "Укажите IP-адрес сервера и порт")
     
    ;Checkbox
    $print = GUICtrlCreateCheckbox("Отменить поиск сетевых принтеров", 10, 10, 200, 15)
    GUICtrlSetTip(-1, "Ускоряет отображение сетевых подключений")
    $sched = GUICtrlCreateCheckbox("Отменить поиск назначенных заданий", 10, 25, 215, 15)
    GUICtrlSetTip(-1, "Ускоряет отображение сетевых подключений")
    $chkdsk = GUICtrlCreateCheckbox("Сократить время ожидания перед проверкой диска", 10, 40, 280, 15)
    GUICtrlSetTip(-1, "Сокращает время ожидания с 10 до 3 секунд")
    $update = GUICtrlCreateCheckbox("Отключить автоматическое обновление Windows", 10, 55, 270, 15)
    GUICtrlSetTip(-1, "Полностью отключить обновление Windows из интернета")
    $clean = GUICtrlCreateCheckbox("Отключить мастер очистки рабочего стола", 10, 70, 235, 15)
    GUICtrlSetTip(-1, "Отключает очистку рабочего стола от неиспользуемых ярлыков")
    $secur = GUICtrlCreateCheckbox("Отключить все предупреждения центра безопасности", 10, 85, 300, 15)
    GUICtrlSetTip(-1, "Отключает значок предупреждения системы безопасности в трее")
    $remote = GUICtrlCreateCheckbox("Отключить отправку приглашения удалённому помощнику", 10, 100, 340, 15)
    GUICtrlSetTip(-1, "Отключает возможность удалённого подключения к рабочему столу компьютера")
    $share = GUICtrlCreateCheckbox("Отключить простой общий доступ к файлам", 10, 115, 250, 15)
    GUICtrlSetTip(-1, "Устанавливает классический диалог назначения прав и доступа")
    $bug = GUICtrlCreateCheckbox("Отключить отчёт об ошибках", 10, 130, 200, 15)
    GUICtrlSetTip(-1, "Отключает возможность отправки отчёта об ошибке в Microsoft")
     
    GUISetState()
     
    While 1
        $Msg = GUIGetMsg()
        Switch $Msg
            Case $ok
                $PrintRead      = GUICtrlRead($print)
                $SchedRead      = GUICtrlRead($sched)
                $ChkdskRead     = GUICtrlRead($chkdsk)
                $UpdateRead     = GUICtrlRead($update)
                $CleanRead      = GUICtrlRead($clean)
                $SecurRead      = GUICtrlRead($secur)
                $RemoteRead     = GUICtrlRead($remote)
                $ShareRead      = GUICtrlRead($share)
                $BugRead        = GUICtrlRead($bug)
     
                            If $PrintRead = $GUI_CHECKED Then
                    RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RemoteComputer\NameSpace\" & _
                        "{2227A280-3AEA-1069-A2DE-08002B30309D}")
                EndIf
     
                            If $SchedRead = $GUI_CHECKED Then
                    RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RemoteComputer\NameSpace\" & _
                        "{D6277990-4C6A-11CF-8D87-00AA0060F5BF}")
                EndIf
     
                            If $ChkdskRead = $GUI_CHECKED Then
                    RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager", "AutoChkTimeOut", "REG_DWORD", "3")
                EndIf
     
                            ;И так далее...
     
                            ExitLoop
            Case $cancel
                ExitLoop
        EndSwitch
     WEnd
     


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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 09:47 21-07-2007
       

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

    Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 1)
    Widok (12-01-2009 14:47): лимит страниц. продолжаем здесь


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru