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


Система 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
    ynbIpb



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    А игра 3D?
    и что вообще за игра.
    Я к чему если в 3D, то там дёрнул мышкой, камера повернулась и объект уйдёт в неизвестном направлении.
    Я кстати тоже как-то хотел бота писать, но затруднение в определении жизни персонажа (не смог продумать алгоритм).

    Всего записей: 1565 | Зарегистр. 01-05-2006 | Отправлено: 22:14 12-03-2009
    AvP24

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

    Цитата:
    и как часто появляется предмет на экране?

    Раз в 10 мин, плюс действие на предмете 10-25 сек
     

    Цитата:
    думаю именно такое и в таком виде использование PixelGetColor и  PixelSearch будет затруднительно/не оправданно...

    это плохо!
     
    я пробовал сделать поиск по одному пикселю, оно то работает но на 65%! бывает находит этот пиксель не там где надо и кликает туда, соответственно камера уезжает с нужного квадрата! или вообще не находит этот пиксель из за смены времени суток!
     
    Поиск по белому пикселю тоже не получится, слово шире чем предмет, будет кликать в первую букву а там нет предмета!
     
    Добавлено:

    Цитата:
    ynbIpb

    да игра 3D
     
    там камера движется за персонажем и если сделать так чтобы точно попадать кликом по предмету, то будет все ок, далеко не убежит! будет бегать в указаном квадрате, т.к. предмет появляется там!
     
    мне определение жизни и всего остального не надо, наипростейший бот, чтоб кликал только по заданному предмету

    Всего записей: 9 | Зарегистр. 12-03-2009 | Отправлено: 22:20 12-03-2009 | Исправлено: AvP24, 22:33 12-03-2009
    stanikkk

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AvP24
    Я как то делал для себя авторегистрацию на покерные турниры, там как раз ищется определенный пиксель на кнопке если он появился нажимается эта кнопка, если появилась кнопка отменить регистрацию с с пикселем другого цвета в определенной координате, то скрипт закрывается если нет, то все по новой.
    код такой:

    Код:
    Do
    WinWaitActive("Лобби турнира")    
    Opt("PixelCoordMode",2)
    $color = PixelGetColor(99, 466)
    If $color = 0xFFFFFF Then
    Opt("MouseCoordMode",2)  
    MouseClick("left", 157, 466, 1, 0)
    WinWaitActive("Регистрация на турнир")
    ControlClick("", "", "[ID:16382]")
    WinWaitActive("Регистрация на турнир")
    ControlClick("", "", "[ID:16382]")
    EndIf
    WinWaitActive("Лобби турнира")
    Opt("PixelCoordMode",2)
    $color2 = PixelGetColor(89, 467)
    Until $color2 = 0xA7B8AC

    Всего записей: 133 | Зарегистр. 07-11-2004 | Отправлено: 02:53 13-03-2009
    ynbIpb



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

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

    Если букву ты точно найдёшь командой PixelSearch
    То потом вытаскиваешь его координаты и прибавляешь определённое число к этим данным и потом кликаешь туда, таким образом клик будет не по букве, а чуток сдвинут, где предположительно находится твой предмет.
    Скриншот в студию! (*.BMP)

    Всего записей: 1565 | Зарегистр. 01-05-2006 | Отправлено: 08:59 13-03-2009 | Исправлено: ynbIpb, 09:04 13-03-2009
    AvP24

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

    Цитата:
    ynbIpb

    Точно ты был прав) я просто думал он все время будет разный пиксель находить в слове!  
    Получается норм, тогда еще вопрос!
    Подскажите как сделать чтоб он это делал сам каждые 10-11 мин
     

    Код:
    #include <GuiConstants.au3>  
     
    Opt("PixelCoordMode", 2)
    Opt("MouseCoordMode",2)
    Global $color1 = 0xFFFFFF
     
    If WinExists('текст','') Then
     
    WinActivate('текст','')
     
    WinWaitActive('текст','',180)
     
    $coord = PixelSearch( 291, 212, 983, 770, $color1, 0 )
     
    If Not @error Then MouseClick( "left", $coord[0]+70, $coord[1], 1)
    EndIf

    это не мой код! честно украл на форуме просто чуть под себя подправил!
    Поскажите на примере желательно как сделать чтоб это была форма с одной кнопкой, которая вкл и выкл скрипт и выпллнялся бы он каждые 11 мин, а если ошибка( не нашел пиксель) то ждет 1мин и сначала!
    просто я не знаю как загнать это все в функцию, я пробовал по другому, нажал на кнопку пошел поиск а выключить не могу пока форму не закроешь!

    Всего записей: 9 | Зарегистр. 12-03-2009 | Отправлено: 13:47 13-03-2009 | Исправлено: AvP24, 18:07 14-03-2009
    sproxy



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

    Цитата:
    Поскажите на примере желательно  как сделать чтоб это была форма с одной кнопкой, которая вкл и выкл скрипт и выпллнялся бы он каждые 11 мин!  
    просто я не знаю как загнать это все в функцию, я пробовал по другому, нажал на кнопку пошел поиск а выключить не могу  пока форму не закроешь!

     
    Подробнее...
     
    Быстрый вызов:
    ALT+ESC  Закрыть
    ALT+F1    Остановить / Запустить
    ALT+F2    Свернуть / Показать настройки

    Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 16:07 13-03-2009 | Исправлено: sproxy, 16:33 13-03-2009
    asdfzxcv



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    кто знает как написать консольную программку которая например из консоли управлялась ключами типа того 1.exe /i - это инсталляция а например ключ /u я запрограммирую деинсталляцию, как эти ключи автоиту передовать

    Всего записей: 57 | Зарегистр. 08-04-2006 | Отправлено: 16:09 13-03-2009
    sproxy



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

    Цитата:
    кто знает как написать консольную программку которая например из консоли управлялась ключами типа того 1.exe /i - это инсталляция а например ключ /u я запрограммирую деинсталляцию, как эти ключи автоиту передовать

     
    справка на ENG
    в русской справке: Применение AutoIt > Параметры командной строки
    пример

    Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 16:38 13-03-2009
    asdfzxcv



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    sproxy спасибо спасибо,нашол $CmdLine[1] всё круто получилось

    Всего записей: 57 | Зарегистр. 08-04-2006 | Отправлено: 16:41 13-03-2009
    AvP24

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    sproxy
    Спасибо Огромное
    Пойду разбираться!

    Всего записей: 9 | Зарегистр. 12-03-2009 | Отправлено: 16:59 13-03-2009
    vicbox777



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    В этом коде выключения монитора:
    Код:
    #AutoIt3Wrapper_Icon=F:\Рисунки\Значки\Значок62.ico  
     
    if ProcessExists(@Scriptname) then
        exit
    endif
     
    Opt("TrayMenuMode",1)
    Global
    Const $lciWM_SYSCommand = 274
    Global
    Const $lciSC_MonitorPower = 61808
    Global
    Const $lciPower_Off = 2
    Global
    Const $lciPower_On = -1
    Global $MonitorIsOff =
    False
     
    HotKeySet("{PAUSE}", "_ON_OFF")
    HotKeySet("{Esc}", "_Quit")
    $TrayExit =  
    TrayCreateItem("Выход")  
     
    TrayTip ("Включение/Выключение монитора", "Pause/Break --  Выключить/Включить монитор." & @LF & _
    "ESC -- Включить монитор и выйти из программы.", 0,1)
     
    While 1
       
    $msg =
    TrayGetMsg()
       
    Switch  $msg
       
    Case $TrayExit  
         
    Exit  
    Sleep(100)
    EndSwitch  
    WEnd
     
    Func
    _Monitor_ON()
    $MonitorIsOff =
    False
    Local $Progman_hwnd = WinGetHandle('[CLASS:Progman]')
     
    DllCall('user32.dll', 'int', 'SendMessage', _
    'hwnd', $Progman_hwnd, _
    'int', $lciWM_SYSCommand, _
    'int', $lciSC_MonitorPower, _
    'int', $lciPower_On)
    EndFunc
     
    Func
    _Monitor_OFF()
    $MonitorIsOff =
    True
    Local $Progman_hwnd = WinGetHandle('[CLASS:Progman]')
     
    While $MonitorIsOff =
    True
    DllCall
    ('user32.dll', 'int', 'SendMessage', _
    'hwnd', $Progman_hwnd, _
    'int', $lciWM_SYSCommand, _
    'int', $lciSC_MonitorPower, _
    'int', $lciPower_Off)
    _IdleWaitCommit(0)
    Sleep(30)
    WEnd
    EndFunc
     
    Func
    _IdleWaitCommit($idlesec)
    Local $iSave, $LastInputInfo =
    DllStructCreate ("uint;dword")
    DllStructSetData ($LastInputInfo, 1, DllStructGetSize ($LastInputInfo))
    DllCall ("user32.dll", "int", "GetLastInputInfo", "ptr", DllStructGetPtr ($LastInputInfo))
    Do
    $iSave =
    DllStructGetData ($LastInputInfo, 2)
    Sleep(60)
    DllCall ("user32.dll", "int", "GetLastInputInfo", "ptr", DllStructGetPtr ($LastInputInfo))
    Until (
    DllStructGetData ($LastInputInfo, 2)-$iSave) > $idlesec Or $MonitorIsOff = False
    Return DllStructGetData ($LastInputInfo, 2)-$iSave
    EndFunc
     
    Func
    _Quit()
    _Monitor_ON()
    Exit
    EndFunc
     
    Func
    _ON_OFF()
    If $MonitorIsOff =
    False then
       
    _Monitor_OFF()
    Else
       
    _Monitor_ON()
    endif
    EndFunc
    у меня проблема возникает в том, что нужно как то при запуске проверять наличие процесса с таким именем, и если такой существует, то вторую копию программы не запускать... Было бы окно, то ясно, но с существованием процесса как? То что у меня тут:
    Код:
    if ProcessExists(@Scriptname) then
        exit
    endif
     не дает программе вобще запускаться...  и ясно почему.

    Всего записей: 162 | Зарегистр. 17-06-2008 | Отправлено: 17:58 13-03-2009
    gal7

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Можно использовать AutoItWinSetTitle ( "newtitle" ) для установки названия окна, я так делаю, а можно помимо названия скрипта еще проверять pid(hwnd) - если у того процесса этот же pid(hwnd), то продолжать, если другой - выйти.

    Всего записей: 145 | Зарегистр. 03-06-2007 | Отправлено: 18:22 13-03-2009 | Исправлено: gal7, 18:27 13-03-2009
    sproxy



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    вместо этого:
    vicbox777 17:58 13-03-2009
    Цитата:
    if ProcessExists(@Scriptname) then  
         exit  
     endif

     
    вставь это:

    Код:
    #region: - Option
        Opt('WinDetectHiddenText',  1)
    #endregion
     
    #region: - Одна копия программы

        Global  $sGuiAutoItTitle = 'тут название скрипта и все что угодно'
        Global  $sGuiAutoItText = 'тут любой мега текст как id данного окна, желательно оооочень сложное )) ну к примеру повтори раза два название скрипта, а между ними какой нить заковырестый набор цифр'
     
        If ControlGetText($sGuiAutoItTitle, '', 'Edit1') == $sGuiAutoItText Then
            MsgBox(64, 'O-oh..', 'Одна копия скрипта уже запущенна')
            Exit
        EndIf

     
        AutoItWinSetTitle($sGuiAutoItTitle)
        ControlSetText('[CLASS:AutoIt v3;TITLE:' & $sGuiAutoItTitle &']', '', 'Edit1', $sGuiAutoItText)
    #endregion

     
     
    Добавлено:
    gal7 18:22 13-03-2009
    Цитата:
    Можно использовать AutoItWinSetTitle ( "newtitle" ) для установки названия окна, я так делаю, а можно помимо названия скрипта еще проверять pid(hwnd) - если у того процесса этот же pid(hwnd), то продолжать, если другой - выйти.

    вот так имел в виду или как то подругому?

    Код:
    #region: - Одна копия программы
        Global  $sGuiAutoItTitle = 'AutoIt title !@#$%^&*('
        Global  $iPidAutoIt = WinGetProcess($sGuiAutoItTitle)
        Global  $iPidPro = ProcessExists(@Scriptname)
     
        If $iPidAutoIt == $iPidPro Then
            MsgBox(64, 'O-oh..', 'Одна копия скрипта уже запущенна')
            Exit
        EndIf

     
        AutoItWinSetTitle($sGuiAutoItTitle)
    #endregion
     
    While 1
        Sleep(100)
    WEnd

     
    Добавлено:
     
    нууу...тогда уж самый банальный пример на закуску для полного "разбора полетов":

    Код:
    #region: - Option
        Opt('WinDetectHiddenText',  1)
    #endregion
     
    #region: - Одна копия программы

        Global  $sGuiAutoItTitle = 'AutoIt title !@#$%^&*('
     
        If WinExists($sGuiAutoItTitle) Then
            MsgBox(64, 'O-oh..', 'Одна копия скрипта уже запущенна')
            Exit
        EndIf

     
        AutoItWinSetTitle($sGuiAutoItTitle)
    #endregion
     
    While 1
        Sleep(100)
    WEnd

     
    ...думаю определять по pid будет надежней всего.
    но и по тексту в в Edit1 поле AutoIt окна не плохо, если текст вписать более менее заковырестый, к примеру:
    "Мега назване скрипта v1.0 ThisIsIdScrit!@#$%^&*()(*&^%41234567 Мега назване скрипта v1.0"
    + ко всему, такое же заковырестое title окна AutoIt - шансы ооочень не плохи получаются ))
     
    Добавлено:
     
    и конечно же уже существующиq пример из UDF:

    Код:
    #include <Misc.au3>
    if _Singleton("test",1) = 0 Then
        Msgbox(0,"Warning","An occurence of test is already running")
        Exit
    EndIf

    Msgbox(0,"OK","the first occurence of test is running")

    Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 18:33 13-03-2009 | Исправлено: sproxy, 19:01 13-03-2009
    AITap

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте!  
    Написал простую консольную утилиту, которая пишет заданное кол-во Chr(1) в stdout или файл. Вопрос у меня такой: можно ли как-либо стереть из окна консоли написанный туда ConsoleWriteError'ом текст?
    upd: нашёл, Chr(8) стирает предыдущий символ. Буду пробовать...

    Всего записей: 19 | Зарегистр. 02-03-2009 | Отправлено: 19:01 13-03-2009 | Исправлено: AITap, 19:09 13-03-2009
    vicbox777



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    sproxy Спасибо. Вот что значит, разъяснение!
    Добавлено:  
    Всем кто принимал участие , тоже спс. С меня бы хватило и этого:
    Код:
    #region: - Одна копия программы  
    Global $sGuiAutoItTitle = "AutoIt title " & @ScriptName & "  dalshe dlya zaputivaniya !@#$%^&*("  
    If WinExists($sGuiAutoItTitle) Then
       
    ToolTip ("Одна копия программы  """ & @ScriptName & """  уже запущена",0,0, "Внимание",2,4)
    Sleep(2000)
       
    Exit
    endif    
    AutoItWinSetTitle($sGuiAutoItTitle)
    #endregion
    Но будет теперь развитие...

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



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

    в примере с pid что то напутал....хотя и работает )))

    Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 19:04 13-03-2009
    gal7

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

    Цитата:
    вот так имел в виду или как то подругому?  

    Можно так, еще можно ProcessList() использовать, но думаю твоих примеров итак достаточно будет.

    Всего записей: 145 | Зарегистр. 03-06-2007 | Отправлено: 19:35 13-03-2009
    AITap

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ура, я сделал это!
    Код пишет строку заранее неизвестной длины, а потом стирает её

    Код:
    $result = 0
    For $i = 1 to $bytes
        $writing
    = "writing "&$result&" bytes"
        ConsoleWriteError($writing)
        $zzz = FileWrite($hnd,Chr(1))
        If $zzz = 1 Then $result = $result + 1
        For $z = 1 to StringLen ( $writing )
            ConsoleWriteError(Chr(8))
        Next
    Next

    Всего записей: 19 | Зарегистр. 02-03-2009 | Отправлено: 19:44 13-03-2009 | Исправлено: AITap, 19:47 13-03-2009
    sproxy



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

    Цитата:
    Можно так, еще можно ProcessList() использовать, но думаю твоих примеров итак достаточно будет.

    во-во, по pid-у надо делать через ProcessList...

    Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 19:49 13-03-2009
    ynbIpb



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

    Цитата:
    если такой существует, то вторую копию программы не запускать

    Я так давно в чьёмто скрипте углядел, так и пользую:
    ;защита от запуска двух копий
    If WinExists(@ScriptName) Then Exit
    AutoItWinSetTitle(@ScriptName)

    Всего записей: 1565 | Зарегистр. 01-05-2006 | Отправлено: 19:55 13-03-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