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

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

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

    Цитата:
    как подключится к SQL используюя доменные имя и пароль, при этом взяв их из системных данных  

    т.е. используюя Windows Authentication... Отвечу сам себе:
    поискал по инету и нашел ответ на www.sql.ru в разделе программирование на Delfi
    по сути все оказалось гораздо проще:

    Код:
    Func SQLStart($BDConnect)
        If @error then Msgbox(0,"Ошибка","Ошибка создания соединения ADODB.Connection")
        $adCN = ObjCreate ("ADODB.Connection")
        $sqlLastConnection = $adCN
        ;$sqlLastConnection.Open ("DRIVER={SQL Server};SERVER=ServerName;DATABASE=" & $BDConnect & ";uid=SQLLogin;pwd=Password;")
        $sqlLastConnection.Open ("DRIVER={SQL Server};SERVER=sql;DATABASE=" & $BDConnect & ";")
        if @Error then Msgbox(0,"",$SQLErr)
    EndFunc

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

    Всего записей: 186 | Зарегистр. 16-09-2004 | Отправлено: 15:26 09-12-2007
    Tipulatoid



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Baloven1
    Да ... слона - то я и не приметил. Сорри за затуп.

    Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 03:13 10-12-2007
    dzeday

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    привет ALL
    Помогите с такой проблемкой. Есть  скрипт test.vbs, который лежит на шаре. Требуется запустить его от имени локального админа.
    Вся проблема в том, что команда RunAsSet не не работает с ShellExecute. Пробывал запускать через IE  
    Run(@ProgramFilesDir&"\Internet Explorer\IEXPLORE.EXE \\путь\test.vbs")
     не хочет запускать сам скрипт. Вопрос как реализовать запуск от имени VBS скрипта.

    Всего записей: 16 | Зарегистр. 16-08-2007 | Отправлено: 09:41 10-12-2007
    Tipulatoid



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Рисую 3 Checkbox ' а : Checkbox1 , Checkbox1.1 и Checkbox1.2
    Нужно, если в Checkbox1 пользователь галочку убирает, остальные 2 становились Disabled. Если ставит, то Enabled. Подскажите, плиз.
    Добавлено:  
    Вроде решил.

    Код:
    #include <GUIConstants.au3>
     
     
    $Form1 = GUICreate("Form1", 633, 447, 193, 125)
    $Group1 = GUICtrlCreateGroup("Group1", 80, 40, 297, 249)
    $Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 136, 64, 81, 33)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Checkbox1_1 = GUICtrlCreateCheckbox("Checkbox2", 168, 104, 73, 49)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Checkbox1_2 = GUICtrlCreateCheckbox("Checkbox3", 168, 150, 73, 49)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
     
    While 1
        $Msg = GUIGetMsg()
        Select
        Case $msg = $GUI_EVENT_CLOSE
            ExitLoop
        Case $msg = $Checkbox1
            $CheckBox1Read = GUICtrlRead ($Checkbox1)
            If $CheckBox1Read = 4 Then
                GUICtrlSetState($Checkbox1_1, $GUI_DISABLE)
                GUICtrlSetState($Checkbox1_2, $GUI_DISABLE)
            Else
                GUICtrlSetState($Checkbox1_1, $GUI_ENABlE)
                GUICtrlSetState($Checkbox1_2, $GUI_ENABLE)
            EndIf
        EndSelect
    WEnd

    Подскажите, верно или нет? Может изящнее способ есть?

    Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 14:34 10-12-2007 | Исправлено: Tipulatoid, 15:04 10-12-2007
    Maza Faka



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

    Цитата:
    Может изящнее способ есть?

    Можно использовать функцию:

    Код:
    #include <GUIConstants.au3>
     
     $Form1 = GUICreate("Form1", 633, 447, 193, 125)
     
    $Group1 = GUICtrlCreateGroup("Group1", 80, 40, 297, 249)
    $Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 136, 64, 81, 33)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Checkbox1_1 = GUICtrlCreateCheckbox("Checkbox2", 168, 104, 73, 49)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Checkbox1_2 = GUICtrlCreateCheckbox("Checkbox3", 168, 150, 73, 49)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
     
    GUISetState(@SW_SHOW)
     
    While 1
        $Msg = GUIGetMsg()
        Select
        Case
    $msg = $GUI_EVENT_CLOSE
            ExitLoop
        Case
    $msg = $Checkbox1
            If GUICtrlRead($Checkbox1) = $GUI_UNCHECKED Then
                Check($GUI_DISABLE)
            Else
                Check($GUI_ENABLE)
            EndIf
        EndSelect
    WEnd
     
    Func
    Check($sState)
        For $i = $Checkbox1_1 To $Checkbox1_2
            GUICtrlSetState($i, $sState)
        Next
    EndFunc

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 16:56 10-12-2007
    Baloven1

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dzeday
    vbs скрипты нужно запускать с их обработчиком, т.е. набирая в строке (в консоли например) test.vbs винда фактически при водит ее к виду cscript.exe test.vbs или wscript.exe test.vbs
    чем они отличаются? - ищем ответ в справке винды по словосочетанию "Сервер сценариев Windows" - ТАМ ВСЕ ЕСТЬ
    и тогда у тебя должно все работать, т.е. твой скрипт должен иметь синтаксис примерно следующий:

    Код:
    If Not IsAdmin() Then
        RunAsSet('USER', @Computername, 'PASSWORD')
        Run("wscript.exe \\путь\test.vbs")
        Exit
    EndIf

    Всего записей: 186 | Зарегистр. 16-09-2004 | Отправлено: 08:45 11-12-2007 | Исправлено: Baloven1, 08:56 11-12-2007
    dzeday

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

    Всего записей: 16 | Зарегистр. 16-08-2007 | Отправлено: 10:49 11-12-2007
    Sergey_AV



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Народ, подскажите плииз - не могу понять в чем дело. Сделал скрипт для автоматической установки AutoCAD 2006 Russian:Подробнее... на основе скрипта для установки AutoCAD 2005, взятым на форуме MSFN. Для мониторинга вводимых команд использовал тулзу из шапки (ScriptWriter). Все вроде работает, НО... только с жесткого диска .
    При попытке запустить установку с DVD-ROM (одновременно с Unattended-установкой Windows), все срубается. Такое ощущение, что "кто-то" (что-то) жмёт на клавиши раньше записанных действий, и весь автоматизм нарушается. Попытки отмониторить весь процес уже при установке с DVD-ROM к успеху не привели - ScriptWriter тупо зависает, и не дает сохранить лог действий. Ничего больше в голову не приходит - я в AutoIT начинающий. И ведь при установке с винта все РАБОТАЕТ БЕЗ ПРОБЛЕМ - пробовал на разных компах...
    Что тут можно посоветовать?
    И еще. При выполнении даже скомпиленного AutoIT-скрипта в трее остается значок, который продолжает "висеть", когда весь процесс нарушается (Script paused). Этого можно как-нибудь избежать? В опциях компиллера (Aut2Exe) я ничего об этом не нашел . Дело в том, что из-за этого нарушается весь процесс дальнейшей установки...
     
     
     
    Добавлено:
    Up

    Всего записей: 2336 | Зарегистр. 05-03-2002 | Отправлено: 12:49 12-12-2007 | Исправлено: Sergey_AV, 15:35 12-12-2007
    Widok



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

    Цитата:
    Добавлено:  
    Up

     
    запрещено поднимать сообщения. в данном случае без наказания т.к попытка пресеклась антифлуд защитой.


    ----------
    Тень превращается в фантазии, таящиеся в глубине вашей души.
    Пока идёшь ты среди теней, да не будет зла с тобой.

    Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 15:38 12-12-2007
    dzeday

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    привет ALL
    Подскажите как средствами AutoIT получить список нужной папки со всеми файлами и папками, что в ней?

    Всего записей: 16 | Зарегистр. 16-08-2007 | Отправлено: 16:20 12-12-2007
    Maza Faka



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    dzeday
    Один из множества вариантов:

    Код:
    Dim $Found
     
    FileView("c:\temp", 1) ;Первый параметр путь к папке; второй параметр: "0" для отображения только каталогов, "1" для отображения каталогов и файлов
     
    MsgBox(0, "", $Found)
     
    Func FileView($sPath = @ScriptDir, $Flag = 1)
        Local $sRet
        Local $Find_First = FileFindFirstFile($sPath & "\*.*")
        If @error Then Return
     
            While
    1
                $FindNext = FileFindNextFile($Find_First)
                If @error Then ExitLoop
                    $Full_File = $sPath &"\"& $FindNext
                    If StringInStr(FileGetAttrib($Full_File), "D") Then
                        $Found &= $Full_File & @CRLF
                        $sRet = FileView($Full_File, $Flag)
                    ElseIf $Flag Then
                        $Found &= $Full_File & @CRLF
                    EndIf
                WEnd
                FileClose($Find_First)
            EndFunc

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 17:49 12-12-2007 | Исправлено: Maza Faka, 06:40 13-12-2007
    Baloven1

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Sergey_AV
    в товоем скрипте пожалуй не хватает фокусировки на конкретные Control'ы без наличия самого инсталятара сказать сложно, но не факт что во время инстала винды на чистой системе попросту успевает сфокусироваться нужный контрол в который посылаться должны клавиши.... и второе вполне возможно что и фокус-то не на этом окне: делаем вывод:
    строки вида WinWaitActive("название окна","текст") (данная строка ждет когда же появится окно но написанное ниже имхо будет не лишним)
    меняем на 3 строки вида:  
    WinWait ("название окна","текст")
    WinActivate("название окна","текст")
    WinWaitActive("название окна","текст")
    далее:
    вот это фрагмент:
    ; License  
    WinWait("Установка AutoCAD 2006","Страна или территори")  
    WinWaitActive("Установка AutoCAD 2006","Страна или территори")  
    Sleep ( 2000 )  
    Send("{TAB}{TAB}{UP}{ENTER}")  
    здесь ты пытаешься клавишами перейти к нужному контролу!!!! - это вовсе не всегда работает пользуй фокус на конкретные контролы в которые тебе необходимо отправить (ввести) данные:
    команда фокусировки
    "Установить фокус ввода на указанном элементе окна.  
    ControlFocus ( "title", "text", controlID)"
    указать данные для контрола:
    "Указать текст для управляющего элемента.  
    ControlSetText ( "title", "text", controlID, "new text" [, flag] )"
    или просто имитировать нажатие клавишь через Send (имхо крайне нежелательно )
    нажатия на кнопки в форме (имитация нажатия мышкой):
    "Симулировать нажатие кнопки мыши для заданного управляющего элемента.
    ControlClick ( "title", "text", controlID [, button] [, clicks]] )"
    при таком раскладе Sleep можно вообще поубивать
    теперь предвещая вопрос "Где взять controlID?"
    в комплекте в AI есть утилита "AutoIt Window Info" она и текст и положение контролов покажет и из controlID... напиши все ручками - и тебе же полезней будет...
    все утилиты подобной что ты использовал - после них все равно нужно все править руками... а один раз почитав справку (на сайте AI есть рускоязычная справка для версии v3.2.5.4 - собственно из нее описание выше и привел...
    будут вопросы спрашивай - ответим
     
    PS. бывают случаи когда контролы попросту не имеют названий или их невозможно получить средствами "AutoIt Window Info" (имею богатый опыт создания дисков автоматической установки винды в полном боекомплекте, но в основном из сети ) в данном случае лично я пользовал фокусировку мышью по относительным координатам внутри окна формы диалоги... если это твой случай - то смотри в сторону:
    "Выполнить нажатие клавиши мыши
    MouseClick( "button" [[[,x ,y] ,clicks],speed] )"

    Всего записей: 186 | Зарегистр. 16-09-2004 | Отправлено: 18:50 12-12-2007 | Исправлено: Baloven1, 18:58 12-12-2007
    ViSiToR



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

    Цитата:
    Один из множества вариантов

    Вот ещё один, только без рекурсии и глобальных переменных
     

    Код:
    #include <Array.au3>
     
    $aFilesList = _FileListToArrayParse(@SystemDir & "\Config", "*", -1)
    _ArrayDisplay($aFilesList)
     
    Func _FileListToArrayParse($sPath, $sMask="*", $iMode=-1) ;$iMode > 0 только папки, иначе папки + файлы
        If Not StringInStr(FileGetAttrib($sPath), "D") Then Return SetError(1, 0, 0)
     
        Local $PathesArr[2] = [1, $sPath]
        Local $hSearch, $sFindNext, $i
     
        While $i < $PathesArr[0]
            $i += 1
            $hSearch = FileFindFirstFile($PathesArr[$i] & "\" & $sMask)
            If $hSearch = -1 Then ContinueLoop
            While
    1
                $sFindNext = FileFindNextFile($hSearch)
                If @error Then ExitLoop
                $sFindNext = $PathesArr[$i] & "\" & $sFindNext
                If $iMode <= 0 Or ($iMode = 1 And StringInStr(FileGetAttrib($sFindNext), "D")) Then
                    $PathesArr[0] += 1
                    ReDim $PathesArr[$PathesArr[0]+1]
                    $PathesArr[$PathesArr[0]] = $sFindNext
                EndIf
            WEnd

            FileClose($hSearch)
        Wend
        Return
    $PathesArr
    EndFunc


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

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Baloven1
     
    Спасибо, буду пробовать. Наверняка еще и вопросы появятся .  
    Мне просто повезло наткнуться на код командной строки для Автокада, но, думаю, разобраться в скрипте будет не лишним - на "подходе" SPDS Graphics (приблуда для Автокада), там заблокированна silent-установка .

    Всего записей: 2336 | Зарегистр. 05-03-2002 | Отправлено: 09:17 13-12-2007 | Исправлено: Sergey_AV, 09:18 13-12-2007
    Tipulatoid



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Kirillhome мне дал очень хороший скрипт VBS, что выводит список всех подключений в системе:

    Код:
    Const NETWORK_CONNECTIONS = &H31&
      Set objShell = CreateObject("Shell.Application")
     Set objFolder = objShell.Namespace(NETWORK_CONNECTIONS)
     Set objFolderItem = objFolder.Self
     Wscript.Echo objFolderItem.Path
      Set colItems = objFolder.Items
     For Each objItem in colItems
         Wscript.Echo objItem.Name
     Next

     
    Просьба - перепишите его на Autoit. У самого знаний пока не хватает. Юзал конвертер VBS -> AU3, доступный на официальном форуме Autoit, он рабочего кода не создал. Спасибо.

    Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 18:23 13-12-2007
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Представляю вашему вниманию “AutoIt Menu для Opera!

     

     
    Это меню предназначено для быстрого/удобного доступа к ресурсам AutoIt'а (как сетевые ресурсы, так и локальные инструменты).
     
    Скриншоты (спрятанный фрагмент)...
     
    Качаем отсюда
     
     
    P.S
    Меню полностью на Английском, правда имя самого меню может быть указано на любом языке при интеграции, но рекомендуется прописать его латиницей (во избежании конфликтов с кодировками).
    При желании/знании можно всё изменить (перепаковать исходники с ресурсами, которые могут быть доступны по запросу).
     
     
    P.P.S
    Принимаются с радостью комменты/замечания/предложения/оскорбления/бросание помидоров и т.д.
     
    А также хотел бы узнать, кто юзает Opera среди AutoIt-скриптеров?    
     
    Добавлено:
     
    Tipulatoid
     

    Цитата:
    перепишите его на Autoit

     

    Код:
     
    Const $NETWORK_CONNECTIONS = 49
     
    $objShell = ObjCreate("Shell.Application")
    $objFolder = $objShell.Namespace($NETWORK_CONNECTIONS)
    $objFolderItem = $objFolder.Self
     
    MsgBox(0, "", $objFolderItem.Path)
     
    $colItems = $objFolder.Items
     
    For $objItem In $colItems
        MsgBox(0, "", $objItem.Name)
    Next

     
    Вариант в функции:
     

    Код:
    #include <Array.au3> ;only for _ArrayDisplay()
     
    $avNetworkConnections = _GetNetwork_Connections()
     
    _ArrayDisplay($avNetworkConnections)
     
    Func _GetNetwork_Connections()
        Local Const $NETWORK_CONNECTIONS = 49
        Local $objShell = ObjCreate("Shell.Application")
        Local $objFolder = $objShell.Namespace($NETWORK_CONNECTIONS)
        Local $objFolderItem = $objFolder.Self
        Local $aRetArr[2] = [1, $objFolderItem.Path]
        Local $ColItems = $objFolder.Items
        Local $iUbound = 0
     
        For $objItem In $ColItems
            $iUbound
    = UBound($aRetArr)
            ReDim $aRetArr[$iUbound+1]
            $aRetArr[$iUbound] = $objItem.Name
        Next
     
        $aRetArr[0] =$iUbound
        Return $aRetArr
    EndFunc


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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 22:58 13-12-2007 | Исправлено: ViSiToR, 15:51 10-11-2008
    euheny



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

    Цитата:
    Представляю вашему вниманию  

    А чего толстое такое ? (пока не качал)

    Цитата:
    кто юзает Opera среди AutoIt-скриптеров?  

    а зачем это - я вот предлагал сделать выборочную чистку кэша (вроде как) - а толку ?
     
    такой вот вопросик по AutoIt
    как остановить на время процесс (а потом продолжить) ?
     
    ну и ещё раз хочу поднять тему по поводу запускака AutoIt-прог как сервисов - есть какая инфа ?

    Всего записей: 4181 | Зарегистр. 22-11-2006 | Отправлено: 08:52 14-12-2007
    ViSiToR



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

    Цитата:
    А чего толстое такое ?

    Там инструменты для AutoIt включены.
     

    Цитата:
    а зачем это

    Поставь, узнаешь
     

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

    Не реализуемо (имхо) - и я если честно не вижу в этом особого смысла.
     

    Цитата:
    как остановить на время процесс

    Есть функция:
     

    Код:
     
    _ProcessPauseSwitch("ProcName.exe", True)
    Sleep(1500)
    _ProcessPauseSwitch("ProcName.exe", False)
     
    Func _ProcessPauseSwitch($iPIDOrName, $iSuspend = True)
        If IsString($iPIDOrName) Then $iPIDOrName = ProcessExists($iPIDOrName)
        If Not $iPIDOrName Then Return SetError(1, 0, 0)
        Local $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $iPIDOrName)
        If $iSuspend Then
            Local
    $i_sucess = DllCall("ntdll.dll", "int", "NtSuspendProcess", "int", $ai_Handle[0])
        Else
            Local
    $i_sucess = DllCall("ntdll.dll", "int", "NtResumeProcess", "int", $ai_Handle[0])
        EndIf
        DllCall('kernel32.dll', 'ptr', 'CloseHandle', 'ptr', $ai_Handle)
        If IsArray($i_sucess) Then Return 1
        Return SetError(2, 0, 0)
    EndFunc

     

    Цитата:
    по поводу запускака AutoIt-прог как сервисов

    Из Frequently Asked Questions (FAQs) на оф форуме ...
     
    Подробнее...

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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 20:15 14-12-2007
    Tipulatoid



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

    Цитата:
    А также хотел бы узнать, кто юзает Opera среди AutoIt-скриптеров?  

    Я юзаю Opera - forever.  
    Классное меню Скачал и пользуюсь  Удобно! Thnx

    Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 07:30 15-12-2007
    euheny



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

    Цитата:
    Поставь, узнаешь  

    Слушай - не получаетя  
    1.Не находит аутоит
    2.Мне вобще нужен выбор директории - ведь толстоват !
     
    Может скажи что делать с
     
    AutoIt_Menu_Tools
    AutoIt_Menu_Icons
    AutoIt_Menu.ini
    AutoIt_Menu_Skin.ini
     
    а я уж дальше потиху сам доделаю  


    А что ты думаеш по-поводу того, что аутоит содержит внутри слишком много функций, которые можно было бы сделать УДФ, таким образом уменьшив толстеющего в стиле $MS$ AutoItSC.bin ?
    Исходники доступны ?

    Всего записей: 4181 | Зарегистр. 22-11-2006 | Отправлено: 01:15 16-12-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