Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

---|Ветка была без названия|---


Страницы:   1 2 3 4 5 6 7 8

SeF ©   (2002-12-17 04:54:00) 

Поставили мне задачу свой subj сделать в игровой зал.
вопрос:
какие сообщения необходимо ловить.(хотябы основные).
как реагировать на них.

приму приму большенство ответов кроме: на х.. тебе надо делать, воспользуйся тойто прогой. etc..


DVM   (2003-01-20 17:28:00) [81]

у меня окна нормально сворачиваются. Я для этого ничего и не делал специально.

> DeadMeat
Вы их как сворачиваете то?

> msts
А куда они по вашему должны деваться?. Они вообще по идее исчезать должны (это же не Win31). Или они и потом при восстановлении оказываются сзади? Тогда значит вы неправильно реализовали свой "рабочий стол". Не держится он у вас на заднем плане.

Я еще думаю, что многие ваши проблемы из-за того, что вы заменили эксплорер, а не закрыли его при старте своей оболочки.




msts   (2003-01-20 15:41:00) [82]

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


DeadMeat   (2003-01-20 14:35:00) [83]

> DVM

> защита от убийства главного процесса shell-а;


Где угодно...

> DVM

> Панель задач сделать не очень сложно (как оказалось)...


Всё это у меня давно сделано (правда чуть-чуть по другому), возникла другая проблема. Когда отсутствует в системе EXPLORER.EXE или INTERNAT.EXE окна при сворачивании превращаются в маленькие полосочки внизу экрана. От этого я избавился с трудом (но весьма неправильно), а как вы (все) от этого избавились.


DVM   (2003-01-20 10:22:00) [84]

> DeadMeat

> защита от убийства главного процесса shell-а;

Что и в WinNT/2000/XP?


DVM   (2003-01-20 10:15:00) [85]

> Gez

> И интересно как ты связь организовал - Socket, UDP или что-то
> другое..

Я не организовывал связь. Я делал только оболочку. Но связь организовать, по-моему, несложно. На клиентском компьютере стоит ServerSoket на админском ClientSoket периодически подключается к клиентским компам и передает им какую либо инфу (можно обычным текстом). Клиент в зависимости от этой инфы принимает решения, что делать.
Некоторые все это делают через зашаренный файл, но тогда на админской машине должен стоять Windows Server.
Только тормозит все это при большом количестве машин.


DVM   (2003-01-20 10:05:00) [86]

> Gez
Панель задач сделать не очень сложно (как оказалось).
1. Нужна форма или какая нибудь панель (можно создать окно по примеру виндовой панели задач AppBar, можно взять обычную панель, можно ToolBar).
2. Эту панель следует расположить в нужном месте экрана (внизу) и лучше сделать неперетаскиваемой ввиду появления излишних сложностей с перекомпоновкой кнопок на ней.
3. Панель, кстати следует поместить либо внутрь ScrollBox-а, либо как-нибудь еще сделать прокрутку.
4. Далее наша задача получить список окон (в этом форуме вопрос всплывал).
5. Отрисовать кнопки (SpeedButton) на своей панели. Перед отрисовкой кнопок надо предварительно вычислить их размеры и положение опираясь на известное количество окон (задача непростая, надо учитывать что кнопка не может стать нулевой ширины и когда то надо начинать прокручивать панель).
6. Перед рисованием очередной кнопки следует получить иконку и текст из соответствующего окна (советую также в свойство Tag кнопки занести handle этого окна).
7. Перерисовку всех кнопок (предварительно уничтожив старые) надо производить при появлении нового окна или закрытии существующего. (момент ловится установкой соответствующих хуков).
8. Также, если необходимо создать полноценный аналог панели задач, следует ловить сообщения (опять хуки) о минимизации/максимизации окон и нажимать/отжимать соответствующие кнопки на своей панели.
9. Также следует активировать/деактивировать соответствующие окна при нажатии кнопок (либо посылкой им сообщений, либо функциями WinApi).
10. Каждой кнопке надо сопоставить PopupMenu, с соответствующими пунктами (закрыть, восстановить ...).
11. И, наверное, еще следует отслеживать не изменился ли у какого окна заголовок или иконка и перерисовывать их на кнопке.
(кто знает какие сообщения ловить?)

Вроде бы все.


DeadMeat   (2003-01-19 22:35:00) [87]

Товарищи, я у вас тут новичок, но shell-ом тоже занимаюсь уже довольно давно, и (не хочу хвастать) кое-что наработал, кому интересно:
1) защита от убийства главного процесса shell-а;
2) блокировка нежелательных прог;
3) проверка на подмену "нашего shell-а" explorer-ом или кем-нибудь другим
4) блокировка system.ini; explorer.exe; regedit.exe и т.п.
5) 100% (по крайней мере пока) убийство игр (или чего другого) при блокировке компьютера
и т.п.
Свой TaskBar я сбацал, но пошёл весьма извращенским (как обычно) путём, кто может помочь, буду очень признателен...


Gez   (2003-01-19 22:09:00) [88]

DVM, можешь рассказать как ты панели задач делал. И интересно как ты связь организовал - Socket, UDP или что-то другое..


SeF   (2003-01-18 22:45:00) [89]

Самая лучшая защита - отсутствие тех поддержки не зарегиных пользователей IMHO.


CjCrazy   (2003-01-18 16:15:00) [90]

но ведь запакованное мона распаковать и дальше с тем же успехом ломать...


SeF   (2003-01-18 11:54:00) [91]

с темже успехом я из 1с (не последней) доставал пароли при помощи SoftIce.
по этому проще запаковать чемнибудь для уменьшения объема *.exe
либо доп. dll которая время от времени будет проверять crc, а если crc будет не правильной то со случайным интервалом времени прога вываливается с какойлибо ошибкой. как вариант, у меня есть драйвер уровня ядра (NT) который пытается читать по адресу null после чего BSOD :)


CjCrazy   (2003-01-18 09:32:00) [92]

2 SeF,
>> CjCrazy © (17.01.03 19:00)
>> а защиту какую-нить ставите в по?
>Зачем???
ну как зачем? а как же всякие ушлые проги типа dede, которые разбирают делфёвые проекты на косточки и даже код представляют в ассемблерном виде?

даже обычная авторизация админа(оператора) в программе...

хотя, всё это может быть по большей части ерундой, если отслеживается в дизассемблерах.

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

сам недавно вот приучил русскую гта3 работать без диска (правда делал я это в hex-редакторе, и лишь правил несоответствия с английским вариантом. но в итоге заработало)


SeF   (2003-01-18 00:54:00) [93]


> CjCrazy (17.01.03 17:19)
> 2 SeF
> > Клиент НЕ должен включать...

proxy на linux/FreeBSD, правила firewall-a, ...
по умолчанию правило DROP/DENY для тех кому можно/запрещено вставляется/удоляется правило из INPUT цепочки.
в этих-же цепочках прописывается машина с которой есть доступ на 80-й порт.
устонавливает/удаляет правила скрипт на www запущеном на этом-же proxy.
трафик контролируется этими-же цепочками.
ps такая схема дествует сейчас в 2-х клубах



> CjCrazy © (17.01.03 19:00)
> а защиту какую-нить ставите в по?

Зачем???


CjCrazy   (2003-01-17 19:00:00) [94]

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


CjCrazy   (2003-01-17 17:24:00) [95]

2 DVM © (16.01.03 09:55)
>Трэй делать не стал - не особенно это нужно, да и сложновато >будет, учитывая заранее неизвестное количество значков, которое >может оказаться в трее.

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


CjCrazy   (2003-01-17 17:19:00) [96]

2 SeF
> Клиент НЕ должен включать...
всё дело в том, что я не смог подружиться ещё ни с одним прокси, кроме как WinRoute а клиент прото напросто прописывает шлюз и тем самым включает и-нет (причём начинает работать любая софта, даже не предназначенная для работы через прокси.


CjCrazy   (2003-01-17 17:16:00) [97]

2 DVM
>то, что вы описали написано на Delphi Вами или это готовый >комплекс? (имеется ввиду не LiteStep)
акромя ЛС всё моё. код мой. (если не считать использованные компоненты


msts   (2003-01-17 13:55:00) [98]

Наконец-то закончились праздники - добрался до работы.
Посидел сегодня над:

>CjCrazy
>клиентская чать -
>блокировка компов
>включение (выключение) и-нета
>контроль запуска приложений

получилось вести список задач (точнее их окон - Task panel)
используя хук WH_SHELL,
представление формы как поверхности рабочего стола (с фоновым рисунком и любыми компонентами)

возникли вопросы по
1. под какую версию Делфы писать - предлагаю 5 и выше
2. под какую версию Винды писать - пердлагаю поколение NT - 2000/XP

в NT есть понятие Desktop которым можно гибко управлять и все такое.


DVM   (2003-01-17 11:19:00) [99]

И мертвые с косами стоят...


SeF   (2003-01-17 11:12:00) [100]

Все? опять тишина?


Страницы:   1 2 3 4 5 6 7 8

Наверх

Титульная страница Поиск, карта сайта Написать письмо