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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    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
     не дает программе вобще запускаться...  и ясно почему.

    Всего записей: 165 | Зарегистр. 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
    Но будет теперь развитие...

    Всего записей: 165 | Зарегистр. 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
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

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

    Всего записей: 1645 | Зарегистр. 01-05-2006 | Отправлено: 19:55 13-03-2009
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    sproxy 18:33 13-03-2009
    Цитата:
    и конечно же уже существующиq пример из UDF

    Который нужно было первым приводить - Оно самое надёжное.
     
    ynbIpb 19:55 13-03-2009
    Цитата:
    ;защита от запуска двух копий

    Попадётся любое окно с таким названием, и скрипт вовсе не запустится

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

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



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Drag&Drop нормально работает с файлами. А вот как быть с текстом?

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 00:38 14-03-2009
    sproxy



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    ViSiToR 23:23 13-03-2009
    Цитата:
    Который нужно было первым приводить    - Оно самое надёжное.

    благодраю, верно подмеченно....поздно вспомнил про него ...)
     
    Добавлено:
    ViSiToR
    дасадно тут штучек нету Полезное сообщение

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

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите плз с помощью AutoIt делаю бэкап, и хочу отсылать себе сообщения по посчте о том что всё ок, или если есть ошибки. на smtp сервере авторизация и нестандартный порт(2025), как заставить отсылать письма на заданный сервер с нужным портом и авторизовываться при этом?

    Всего записей: 44 | Зарегистр. 21-10-2008 | Отправлено: 21:16 14-03-2009
    sproxy



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Castiel 21:16 14-03-2009
    Цитата:
    Подскажите плз с помощью AutoIt делаю бэкап, и хочу отсылать себе сообщения по посчте о том что всё ок, или если есть ошибки. на smtp сервере авторизация и нестандартный порт(2025), как заставить отсылать письма на заданный сервер с нужным портом и авторизовываться при этом?

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

    Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 00:36 15-03-2009 | Исправлено: sproxy, 00:36 15-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.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru