![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
ConstantinXXX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 27.5.2006 Где: U.S.A. :-) Репутация: нет Всего: 0 |
Как можно сохранить процесс. Например вы играете в игру и вам надо сохраниться, а сохраняться нельзя. Вы сворачиваете игру сохраняете процесс. Если вы проиграли, то опять сворачиваете игру запускаете процесс и играете дальше.
![]() --------------------
Как вы относитесь к девушкам, которые курят сигареты?Как не ослепнуть за компьютером© ORENCODE.info |
|||
|
||||
jaAlex |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 31.5.2006 Где: Краснодар Репутация: нет Всего: нет |
Объясни задачу поподробнее, а то я что - то толком непонял, что вообще сделать надо - то? Какой процесс вообще сохранять?
|
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
ConstantinXXX, имхо маловероятно это
![]() -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Никак. Это вам не DOS.
|
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 4 Всего: 260 |
написать виртуальную машину. из-под которой и будет исполняться код.
|
|||
|
||||
Sunvas |
|
|||
![]() Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Нужно читать память где происходит процесс и записывать побитно в файл!
-------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
||||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Указатели меняются в течении работы программы неоднократно. Что уж говорить о разных запусках. Я создаю TList, заполняю 1000 элементов. Затем ты проиграл. Лист уничтожаю. Все указатели теряются. Создаю заново. Указатели указывают уже в совсем другие места. А вы мне будете лепить на старые места, в которых уже неизвестно что лежит. В лучшем случае программа начнет глючить. |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
К стати, в ArtMoney есть такая возможность - сохранение процесса. Но там тоже накладываются ограничения из-за некоторых обстоятельств. Одно из них описал Snowy.
Это сообщение отредактировал(а) Yanis - 6.6.2006, 13:41 |
|||
|
||||
ConstantinXXX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 27.5.2006 Где: U.S.A. :-) Репутация: нет Всего: 0 |
А если нажать на паузу в игре выйти и полностью скопировать из оперативки весь процесс на винт. При этом проследить все изменения в папке с игрой и их тоже сохранить в другое место. При восстановлении процесса восстановить все изменения до сохранения процесса в папке с игрой. Естественно не на всех играх такое пройдет, но все-таки...
Артманя сохраняет процесс, но определенное значение. --------------------
Как вы относитесь к девушкам, которые курят сигареты?Как не ослепнуть за компьютером© ORENCODE.info |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
угу. Представь. Стратегия.
Ты атакуешь вражескую базу. Тебе вырезали всю армю. Указатели на юниты и их параметры исчезли. А ты пытаешься туда восстановить значения. Тут никакая пауза не поможет. Откат невозможен, хоть что в память пиши. Мы конечно и указатели восстановим. Вот только память уже освобождена и нам не принадлежит. |
|||
|
||||
ConstantinXXX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 27.5.2006 Где: U.S.A. :-) Репутация: нет Всего: 0 |
Про стратегии это одно, а стрелялка это другое.
Например, забежал в укромное место, где некого нет. Сохранился таким образом. Например, Хитман во второй части можно сохраняться вроде 7 раз. А если кончились сохранения. Вот тут эта прога и поможет. Артмани сохраняет определенный так сказать блок: например число 1890. Может, в новых версиях че то изменилось. Давно не пользовался. ![]() --------------------
Как вы относитесь к девушкам, которые курят сигареты?Как не ослепнуть за компьютером© ORENCODE.info |
|||
|
||||
Sunr1se |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 1.5.2006 Репутация: 6 Всего: 13 |
Да какая разница, даже если это будет тетрис, все равно возникнет трабла
![]() --------------------
IRC-канал Винграда |
|||
|
||||
ConstantinXXX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 27.5.2006 Где: U.S.A. :-) Репутация: нет Всего: 0 |
Может и возникают, но когда ты сидиш в укромном месте т.е. нечего не происходит то можно сохраниться. Впринципе неважно что происходит на улице. В большенстве игр действие востановится после встречи с компьютером. Самое главное оказаться тамже где сохранился.
--------------------
Как вы относитесь к девушкам, которые курят сигареты?Как не ослепнуть за компьютером© ORENCODE.info |
|||
|
||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: нет Всего: 149 |
Товарищи, ConstantinXXX, проповедует такую идею:
--- Сделал слепок процесса (сохранил на диск). --- Убил старый процесс. --- Восстановил полностью весь процесс из слепка в оперативную память. P.S. Вопрос в том, как заморозить исходный процесс, что бы он не изменился во время создания слепки. |
|||
|
||||
ConstantinXXX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 27.5.2006 Где: U.S.A. :-) Репутация: нет Всего: 0 |
ivashkanet,
Все понятно, но вот как реализовать. ![]() --------------------
Как вы относитесь к девушкам, которые курят сигареты?Как не ослепнуть за компьютером© ORENCODE.info |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
||||
|
||||
BinaryEvil |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 4.3.2006 Репутация: -1 Всего: 2 |
я не знаю, можно так или нет, но есть же artmoney в конце концов, оно так делоет: останавливаешь процесс, копируешь все его переменные, потом можешь запустить процесс и поменять все переменные на сохранённые. кто знает, можно ли такое сделать, и как, расскажите, мне тоже интересно
|
|||
|
||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: нет Всего: 149 |
||||
|
||||
ConstantinXXX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 27.5.2006 Где: U.S.A. :-) Репутация: нет Всего: 0 |
В том весь смысл, с нуля. А не в середине игры когда весь мир изменился.
--------------------
Как вы относитесь к девушкам, которые курят сигареты?Как не ослепнуть за компьютером© ORENCODE.info |
|||
|
||||
Mechanic |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 5.5.2006 Где: Kharkov, Ukraine Репутация: 6 Всего: 7 |
А стандартный виндовый Hibernate не годится?
![]() Только он всю память выгружает.. --------------------
Tell me the extensions of the files You backup and I'll tell You who You are.. ©Mch |
|||
|
||||
Sunvas |
|
|||
![]() Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Snowy, Yanis, давайте вспомним хорошую функцию винды "спящий режим". Как это ни странно, но эта функция позволяет выключить компьютер даже когда запущена игрушка типа Red Alert и полностью восстановить ее после включения. В даном случае
ConstantinXXX хочет сделать что-то подобное за принципом, а вы говорите что это невозможно! -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Принцип действия спящего режима:
Винда прекращает выдавать процессорное время тредам. Сбрасывает память в файл, вырубается. При включении компьютера, загрузчик загрушает не все с нуля, а подгружает память из файла. Почему нельзя сделать это програмно: Мы не можем остановить все треды одновременно. Хотя можем попробовать заморозить нужные. Самое главное. Почему в DOS это делалось легко, а в WinNT невозможно? Потому что нужно сохранять не только память программы, но и код, и объекты системы, хэндлы, выданные системой и т.д, к чему у нас просто нет доступа. А даже, если бы и был, то при восстановлении эти хэндлы преврашаются просто в числа - они уже не работают. В DOS'e небыло никаких объектов, хэндлов и етц. Была память, были прерывания системы. Всё. Доступ к коду был свободен. Скинули дамп, подгрузили в то же место. Программа работает, как небывало. Для DOS программ - ради бога. Для эмуляторов - ради бога. Пишите свою WMVare, делайте там хибернэйт, меняйте файл, запускайте снова... А тут вам просто винда не позволит ковыряться там, где не положено. |
|||
|
||||
asm2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
ArtMoney Pro сохраняет память процесса, некоторые системные объекты и хендлы на них, явно не все и не всегда успешно, сам проверял, но в принципе работает). У кого нет ArtMoney, искать тут http://www.artmoney.ru/rus.htm
|
|||
|
||||
Dimannn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 318 Регистрация: 14.4.2005 Где: Владимир Репутация: нет Всего: 1 |
Сохранить и восстановить все хендлы(среди кот. динамически загружемые библиотеки, все окна и куча всякой совершенно неожиданной гадасти) у нас врядли пулучится.
А что, если действительно написать виртуальную машину? В качестве жёсткого использовать текущий жёсткий, а запись на него фильтровать. Хотя это тоже не легче... -------------------- Хотите быстро и без проблем опубликовать вашу программу в сети за 5 минут? Тогда потратьте пару минут чтобы посмотреть, что предлагает OpenProject.org.ru |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
||||
|
||||
ConstantinXXX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 27.5.2006 Где: U.S.A. :-) Репутация: нет Всего: 0 |
По всем рассуждения получается надо переходить на DOS. вернее возвращаться.
--------------------
Как вы относитесь к девушкам, которые курят сигареты?Как не ослепнуть за компьютером© ORENCODE.info |
|||
|
||||
Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: нет Всего: 62 |
Snowy прав, это 99.9% невозможно сделать прикладным программированием, только на уровне ядра ОС.
Аrtmoney прошаривает всю память процесса и определяет байты (или последовательности байт) удовлетворяющие заданному критерию, потом сохраняет эти адреса, например ищет int32 (4 байта) с заданным числом. Желательно предварительно указывать тип данных, а потом в ходе процесса отсеивать левые переменные методом сравнения. Естественно ни о каких хендлах и дескрипторах речи не идёт. При следующем запуске artmoney тыкается по этим адресам, но не факт что там будут те же переменные. Это в первую очередь зависит от организации программы, её управлению памятью. Для облегчения таких замарочек можно достоверно найти одну переменную, а остальные вычислить по смещению адресов, что тоже не даёт никаких гарантий (но обычно работает). Основано всё на функциях ReadProcessMemory и WriteProcessMemory (Описание смотрите в Platform SDK). |
|||
|
||||
asm2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 7.6.2006 Репутация: нет Всего: нет |
из справки ArtMoney
"Сохранение и загрузка процесса" Требования: Windows 2000/XP/2003 Ограничения: Нельзя перезапускать процесс. Для больших игр действует только внутри одного уровня. Пока работает не на всех играх, может повесить игру. Описание: Данная функция может использоваться для сохранения игр, где это не предусмотрено. ArtMoney сохраняет память процесса и его системное окружение. Windows всячески пытается сопротивляться, поэтому возможны сбои в процессе. Если произошел сбой, то обычно процесс просто закрывается. Имеются три дополнительных режима работы (устанавливаются в настройках). При включении каждого, ArtMoney начинает вмешиваться в работу процесса с момента сохранения, чтобы увеличить вероятность успешной загрузки. Однако, не все процессы переживают такое вмешательство. В случае, если обычным способом не получилось загрузить, можно пытаться тогда использовать эти режимы, перебирая их по очереди: Режим 1 - Отвечает за управление виртуальной памятью. Режим 2 - Отвечает за управление кучей памяти. Режим 3 - Отвечает за управление системными объектами. Внимание! Запомните следующее: - Больше шансов на успешную загрузку, если отключить музыку и звуки. - Для полноэкранных игр, горячие клавиши использовать только если вы уверены, что процесс загружается правильно. То есть, до этого пробовали грузить без клавиш. - Если вы сохраняетесь, когда игра свернута, то и грузитесь только тогда, когда она свернута. Присылайте нам название игр, в которых не получилось сохраниться, и в которых получилось тоже. Обязательно пишите версию Windows и настройки режимов. |
|||
|
||||
ConstantinXXX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 27.5.2006 Где: U.S.A. :-) Репутация: нет Всего: 0 |
--------------------
Как вы относитесь к девушкам, которые курят сигареты?Как не ослепнуть за компьютером© ORENCODE.info |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Да я и с официального сайта скачать могу. Наверное другие тоже. |
|||
|
||||
ConstantinXXX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 27.5.2006 Где: U.S.A. :-) Репутация: нет Всего: 0 |
Yanis, Я какой адрес знаю, то и даю. Че плохова в этом
![]() ![]() --------------------
Как вы относитесь к девушкам, которые курят сигареты?Как не ослепнуть за компьютером© ORENCODE.info |
|||
|
||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Всёбы логично но перед твоим постом был этот http://forum.vingrad.ru/index.php?showtopi...st&p=756210 |
|||
|
||||
Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: нет Всего: 62 |
asm2
Всё равно тут не наверняка, а на удачу приходится полагаться. ![]() |
|||
|
||||
BUGOR |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 12.3.2006 Репутация: 5 Всего: 16 |
Если сняли дамп всего участка памяти, до экспортируемых библиотек, нужно ещё при этом приатачиться к процессу с аттрибутами DEBUG_PROCESS и запомнить всю структуру Context, после чего снять дамп всех участков памяти, а не от ImageBase и до ImageBase+SizeOfImage, и такой дамп будет занимать немало места, я бы даже сказал очень много
![]() typedef struct _SYSTEM_HANDLE { ULONG uIdProcess; UCHAR ObjectType; UCHAR Flags; USHORT Handle; POBJECT pObject; ACCESS_MASK GrantedAccess; } SYSTEM_HANDLE, *PSYSTEM_HANDLE; ) Таким образом мы сможем определить принадлежность хэндла и тип объекта которые принадлежат нашему процессу и опять же сохранить их на диск. Ну вот это был процесс сохранения. Восстановление: как создать процесс и как восстановить дамп я примерно себе представляю, а вот как восстановить таблицу хэндлов этого процесса я не понимаю ![]() Бредовая идея короче... Это сообщение отредактировал(а) BUGOR - 12.6.2006, 12:08 |
|||
|
||||
ConstantinXXX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 27.5.2006 Где: U.S.A. :-) Репутация: нет Всего: 0 |
RAdmin,
А че плохова в моем Добавлено @ 20:42 BUGOR, Идея хорошая... Если, конечный результат получится тем которым задумали в начале ![]() --------------------
Как вы относитесь к девушкам, которые курят сигареты?Как не ослепнуть за компьютером© ORENCODE.info |
|||
|
||||
RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
||||
|
||||
Dimannn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 318 Регистрация: 14.4.2005 Где: Владимир Репутация: нет Всего: 1 |
Я что, если хендлы попробовать не закрывать, а мерекинуть на нашу программу, а потом вернуть процессу? -------------------- Хотите быстро и без проблем опубликовать вашу программу в сети за 5 минут? Тогда потратьте пару минут чтобы посмотреть, что предлагает OpenProject.org.ru |
|||
|
||||
ConstantinXXX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 27.5.2006 Где: U.S.A. :-) Репутация: нет Всего: 0 |
Уже чето получается. Надо еще подумать. И мы напишим сохранятель процессов.
![]() --------------------
Как вы относитесь к девушкам, которые курят сигареты?Как не ослепнуть за компьютером© ORENCODE.info |
|||
|
||||
Sunr1se |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 1.5.2006 Репутация: 6 Всего: 13 |
ConstantinXXX, а что именно получается-то?
![]() --------------------
IRC-канал Винграда |
|||
|
||||
ConstantinXXX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 27.5.2006 Где: U.S.A. :-) Репутация: нет Всего: 0 |
Sunr1se, Я немного неправильно вырозился. У нас получается. По всему топику посматри. Если проанализировать, то идея уже более и мение осуществима.
![]() --------------------
Как вы относитесь к девушкам, которые курят сигареты?Как не ослепнуть за компьютером© ORENCODE.info |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Если проанализировать, то можно сделать выводы, что идея не решается в общем случае, путём малых затрат. К тому же, как уже было сказано выше, идея реализована в ArtMoney. И похоже что эта реализация максимально возможная.
|
|||
|
||||
ASGDeveloper |
|
|||
developer ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 1.4.2006 Репутация: 1 Всего: 1 |
Угу, только вот если использовать дампинг, то нельзя забывать про игры защищенные протектором. Тогда снять дамп с них можно будет только ручками. Потом восстановить импорт и ... ;) Хотя для незапакованных прог у меня есть чудных исходник для дампинга. |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Всё что можно сделать ручками можно сделать и програмным образом. В частных случаях.
|
|||
|
||||
ASGDeveloper |
|
|||
developer ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 1.4.2006 Репутация: 1 Всего: 1 |
||||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Обратное не всегда верно. ![]() |
|||
|
||||
Sunvas |
|
|||
![]() Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Думаю не все. Как программно включить компьютер?
-------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: нет Всего: 149 |
По таймеру? Запросто ![]() ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |