Текущий архив: 2003.08.25;
Скачать: CL | DM;
Вниз
---|Ветка была без названия|--- Найти похожие ветки
← →
SeF © (2002-12-17 04:54) [0]Поставили мне задачу свой subj сделать в игровой зал.
вопрос:
какие сообщения необходимо ловить.(хотябы основные).
как реагировать на них.
приму приму большенство ответов кроме: на х.. тебе надо делать, воспользуйся тойто прогой. etc..
← →
Song © (2002-12-17 08:38) [1]Зачем реагировать. Блокируй мышу и клаву. Всё зависит от ОС.
← →
SeF © (2002-12-17 08:57) [2]понял, неправильно поставил вопрос.
новая формулировка:
представляем, обычный эксплорер: кнопка пуск, быстрый запуск, кнопки запущенных программ, etc...
Делаю своё окно,.... вопрос какой класс окда должен быть и какие сообщения обрабатывать, например чтобы показать кнопку проги, значек в трее....
вот. вкратце...
← →
Song © (2002-12-17 09:19) [3]>>чтобы показать кнопку проги, значек в трее....
Своей проги-то что ли?
Ты не говори загадками.
← →
Anatoly Podgoretsky © (2002-12-17 09:31) [4]Брось написания шела в таком объеме тяжелая задача, мало кому по зубам
← →
msts (2002-12-17 10:07) [5]shell - это просто прога
в качестве шелла можно хоть нотепад использовать
уточняющий вопрос - какая требуется функциональность?
вот представь приходит чувак в клуб - садится за комп - включает - комп грузтся - все еще грузится (автологон) -
появляется чистый рабочий стол с красивой картинкой (клуба) -
чувак (с нетерпением) - "ей админ гамится хочу, фраги стынут" - в ответ "ок" - админ давит у себя на компе кнопочку "разлочить комп с номером 1" - включается таймер - у чувака на рабочем столе появляется красивое окошко (крутой скин под матрицу, лого с рожей админа) и нное количество кнопочек - CS, QuakeIII, SC и т.п. - все посредине, на видном месте - юзверь "хм" - гамится в CS - все еще гамится (уже ночь - админ спит) - юзверь "эх уроды, ламаки недобитые" (в очередной раз зарезали) - злобно (мысли) "клуб отстой, надо бы насрать" - (выходит из игры) - давит "контр-альт-дел" - балалайка - "контр-еск" - тоже самое - будит админа - "эй чувак сеть что-то накрылась" - админ ща проверим - "неа пингуется, нормалек все" - юзверь - "и че, к серверу не коннектица" - админ давит кнопку "врубить режим администрирования на компе номер 1" - у юзверя на машине - появляется эксплорер ну и все дела - админ проверяет - "усе ок" - давит волшебную кнопку - все возвращается назад (выбор игр) .... утро (перерыв) - админ давит у себя кнопку "выключить все компы" - выключаются - админ кушает, ну и так далее
нужно иметь: компы ATX, винду2000/XP, четыре проги - сервер/клиент (сервисы), для сервера - менеджер, для клиента - некий шелл.
PS: как сделать знаю - но не нужно - не работаю я в клубе :)
← →
SeF © (2002-12-17 15:46) [6]
> Song © ( 17.12.02 10:07)
> Song ©
На х.. мне свою. чужие, тот же quake
> msts (17.12.02 10:07)
я не прошу за меня писать прогу типа lockwin, в связи с её глючностью надо свою.
тоесть повторяю
вопрос какой класс окда должен быть и какие сообщения обрабатывать, например чтобы показать кнопку проги, значек в трее....
← →
SeF © (2002-12-17 15:50) [7]тоесть мне нужна информация, ссылки... а не рассуждения надо-ли мне это делать..
← →
crazyprogman © (2002-12-17 17:46) [8]Читать хелп стандартный не пробовал?
Для шела надо тока ф-я TerminateProcess
и все что с ней связано+FindWindow etc.
Ты слишком хорошо жить хочешь, если те
сказали написать, а тем более если за
деньги, то и пиши сам, а не запрягай народ.
Сейчас 21 век, времени нет ни у кого...
← →
SeF © (2002-12-17 18:44) [9]
> crazyprogman © (17.12.02 17:46)
Explorer оперирует только terminateprocess??? :)
вопрос читал?
незнаешь/нехочешь_помочь молчи. не трать свое время. многоуважаемый.
← →
DVM © (2002-12-17 21:47) [10]Писывал я шеллы...
Объясню задачу и что делать понятнее.
Нужно:
1. Не дать гамерам долезть до диска.
2. Не дать гамерам испортить что то.
3. Дать гамерам значки для игр и скриншоты из них с описаниями.
Все!!!
Для этого:
Нужна замена (обязательно!) эксплореру. Пока запущен эксплорер, есть возможность сделать 1. и 2. Т. е. надо писать свою программу, частично подменяющую эксплорер. (shell=moyaproga.exe)
Требуется написать программу имеющую окно, распахнутое на весь экран, которое нельзя закрыть, свернуть и т.д. (SetWindowPos + WM_WINDOWPOSCHANGING если не ошибаюсь и еще кое-что)
Оно должно содержать значки для запуска программ (ListView).
Щелчок по значку должен запускать прогу с ним связанную (WinExec например).
Это все относительно просто.
Сложнее вот что:
Гамеры склонны (из за собственной криворукости) запускать по 100 игр одновременно и не закрывать их за собой. Так как нет панели задач, то их не видно. Значит надо писать панель задач.
(AppBar - есть такая штука в Windows)
Далее надо отслеживать (HOOK) когда какая программа запускается-закрывается и рисовать кнопки на этом AppBar.
+ Надо отследить все мелочи (например даже регулятором громкости можно запустить Explorer, через пункт Справка). Значит нельзя давать запускать Регулятор громкости и написать свой.
В некоторых играх можно добраться до Internet Explorera. Это еще одна дыра. Надо что-то делать и с ним.
Вы еще не передумали писать шелл?
Это только 1/100 трудностей, которые надо преодолеть.
Если надо подробнее, пишите, помогу чем могу.
P.S. Этот свой шелл, кстати, я бы не написал без этого форума, за что ему и спасибо.
← →
DVM © (2002-12-17 22:05) [11]Тут еще Alex134 по моим наблюдениям Шелл пишет. Может я ошибаюсь конечно.
← →
markers (2002-12-18 05:12) [12]И ещё я shell пишу!
Очень надоело мучится с юзерами и пользоваться двумя разными прогами (Remote Administrator и Извините Троянец АЛБ!) для того чтоб достичь более менее хорошей функциональность! А если ещё нужна функциональность то там и ещё больше прог надо! А это не интересно! Муторно и противно! А денег как обычно нет чтоб покупать реальную хорошую прогу! Вот я и загорелся написать такую прогу! Но, траблы появились уже за долго до конкретного кода;)))))
← →
SeF © (2002-12-18 08:02) [13]
> DVM © (17.12.02 21:47)
В зале на машинах стоит Lockwin следовательно интерфейс с пользователями пока есть, также у меня есть сервис собственного написания который борется(очень успешно) с неугодными прогами.
НО достали глюки Lockwin-a....
> markers (18.12.02 05:12)
ghпредлагаю единить усилия.
← →
SeF © (2002-12-18 08:06) [14]>DVM © (17.12.02 21:47)
можешь в ознакомительных целях свой шелл замылить?
← →
DVM © (2002-12-18 11:28) [15]Могу, но не последнюю версию его. В последней многое не доделано, времени нет. Тебе исходники или работающий вариант?
← →
SeF © (2002-12-18 11:59) [16]Вообще неплохо было-бы исходник...
если интересно могу сервис кинуть...
← →
DVM © (2002-12-18 13:17) [17]Что то не хочет отсылаться на твой ящик. Другой есть?
← →
DVM © (2002-12-18 13:38) [18]Ок ушло. Глюк какой то был.
← →
SeF © (2002-12-18 13:57) [19]
> DVM © (18.12.02 13:38)
ok дошло...
← →
paul_shmakov © (2002-12-18 15:06) [20]чтобы трей свой написать (здесь я достаточно кратко описал):
http://rsdn.ru/forum/Message.aspx?mid=93662&only=1
более подробное обсуждение было в этом форуме, но все в архиве давно
← →
TAndrew © (2002-12-18 15:08) [21]есть готовое решение: RunPad
http://runpad.victorovich.com/show.php3
посмотрите, как сделано (идеи)
← →
markers (2002-12-18 15:21) [22]
> DVM ©
А мне можно на мыло исходничек???;)))))
Очень ХОЧУ!
Плиз вообщем!
> SeF © ( Я им себя не считаю)
> DVM ©
А мне можно на мыло исходничек???;)))))
Очень ХОЧУ!
Плиз вообщем!
> SeF ©
А объядинится кстати можно! Я не против! Чем больше програмеров будет (Я им себя не считаю) тем курече я думаю будет прога в конечном итоге!!!
Можно объядинится и/или обмениватся нароботками!
А то достало уже!;)
← →
alex134 © (2002-12-18 15:47) [23]alex134 шелл не пишет! Он его уже давно написал 8-)
← →
markers © (2002-12-18 15:57) [24]
> alex134 ©
А олн поделится исходниками не может????;)))))
← →
alex134 © (2002-12-18 15:59) [25]Чем конкретно ?
← →
dvm © (2002-12-18 16:47) [26]Посмотрел я на RunPad.
Есть недостатки.
Во-первых, нет разделения прог на категории (у нас на компах по 100 игр, ужас).
Во-вторых, панели задач нету (юзеры к такому не привыкли и назапускают 100 окон эксплорера).
В-третьих, платная, и без исходников.
Достоинство - маленький размер.
На делфи же будет мегов 700-800
← →
markers © (2002-12-18 17:03) [27]
> alex134 ©
Я извиняюсь, я просто ошибся! Просто сегодня очень высокое начальство приходило в нашу конторы посему бошка на бикрень!;) Извиняюсь!!!!!
> dvm © ( Один два пункта и всё)
> alex134 ©
Я извиняюсь, я просто ошибся! Просто сегодня очень высокое начальство приходило в нашу конторы посему бошка на бикрень!;) Извиняюсь!!!!!
> dvm ©
Я тожесмотрел на эту прогу мне если честно не понравилось, еслиб конечно исходник может и что-нибудь придумал бы а так не катит;) Нет обсалютно той (Один два пункта и всё) которая мне нужна в шеле! Будем значить Сами писать;)))) И если мне поможет > SeF © И вы, дорогbt All`ы Будет здоровски круто;)
← →
dvm © (2002-12-18 17:06) [28]Sorry 700-800 kb
← →
markers © (2002-12-18 17:12) [29]> dvm © А он это считает наверное маленьким размером;)
← →
dvm © (2002-12-18 17:20) [30]Не понял про размер. RunPad действительно маленькая.
Читай почту.
← →
Ruf (2002-12-18 18:03) [31]Вообшем могу только свою собственную предложить, стоит в 7 клубах.
← →
DVM © (2002-12-18 18:26) [32]2 Ruf: Предложи лучше исходники людям :) Если они на Делфи, конечно.
← →
alex134 © (2002-12-18 18:29) [33]2 markers © : ничего страшного ... Я так подумал - действительно со стороны похоже что я шелл пишу :)
← →
SeF © (2002-12-19 00:57) [34]
> 2 markers © > DVM ©
Давайте обединяться!
← →
Rouse_ © (2002-12-19 01:15) [35]> msts (17.12.02 10:07)
Вопрос номер 1: Ты хоть неделю в клубе работал?
Вопрос номер 2: Ты хоть раз видел такой тупой шелл как ты описал?
Вопрос номер 3: Знаешь ли ты хотябы основные приемы защиты от "продвинутых перцев" в клубе
Извини, не хочу обидеть, к чему я говорю, я проработал там порядка двух лет (закончил в 2001). Так вот все что ты сказал никакого отношения практически к Шелу не имеет. Пишется это или на уровня сервиса (в НТ) или на уровне автозагрузки в 98 (но с принципом подобним вирусам, тоесть замето ЕХЕ файла идет сначала твоя прога а потом, если разрешено, та, которую вызывают) я писал свой шелл, который полностью имитировал эксплорер, запуск комбинированный, обойти можно, но "Продвинутые перцы" терялись. Реестр не редактируется, все досовские файлы переименовываются (начиная с EDIT (один умник на работе переименовал его в PERDIT, всеравно нашли)). В итоге дошли до того что... Ну ладно это уже технология, но поверь не все так просто. На каждую хитрую Ж@ge найдется Х.. с винтом :)
Желаю успехов
← →
markers © (2002-12-19 06:17) [36]Эх, написал такую мессагу, а этот блин чтоб его эксплодер наверное увидев что пишут про его выгрузку, обиделся.......
Да нам сейчас надо выробавтать "основную" функциональность нашего шела! Нам в контору нужен шелл маленько другой, но можно сделать чтоб был выбор режима работы и т.д.!
Я сегодня постараюсь написать ту функциональность которую я хотел бы видеть в шеле, а вы в своё время пишите свою, мы потом сравним и начнём работу! Ок?
← →
markers © (2002-12-19 06:19) [37]Да, забыл сказать что на все 100% защится от "кулхацкеров" не удастся, но у меня есть Вариант защиты от "убивания" проги в диспечере задачь в 2000 виндах, пусть он не рационален и может даже и не эфективен, а может даже и не работает (Не проверял, времени нет)
Он скорей всего будет работать и в ХПях!
← →
msts (2002-12-19 08:52) [38]> Rouse_ © (19.12.02 01:15)
В клубе не работал.
Такой шелл не видел, но это (описанное) максимум что нужно для запуска игрушек :) (за исключением работы в инете), что касается терминов, в описанном только прога с иконками игрушек можно назвать шеллом.
Все приемы защиты упираются в назначении прав доступа но так как люди работающие в клубах не имеют соответствующих знаний (у меня тоже их нет), то им хочется поставить просто прогу,которая делала бы все за них. Я уверен что все проблемы в клубе можно решить стандартными способами/средствами - но это муторно и требует доскональных знаний винды/возможностей (повторюсь). Т.е. если бы я в году эдак 97 знал о NT4 столько сколько сейчас половину прог написал бы совершенно по другому и гораздо проще/надежнее. Еще о термине Shell - его назначение только выполнять команды (и чаще всего только свои) в общем в эксплорере от "классического" шелла только диалог "Run" :).
По этому в моем сообщении был вопрос "Какая требуется функциональность?" а остальное просто для поддержания темы :)
PS: в свое время думал над подобной проблемой - проблемой организации ограниченного доступа к возможнотсям компов общего пользования. Так что непрочь поучаствовать в работах.
← →
msts (2002-12-19 09:13) [39]http://www.delphikingdom.com/treasury/systray.htm
← →
msts (2002-12-19 10:42) [40]Встречный вопрос: читаю хелп по WH_SHELL Hook там на многие фичи указано - Windows 95 only обманывают или нет? берут сомнения - хелп старый - иногда врет.
← →
Hlor © (2002-12-28 01:23) [41]Не хочу конечно прерывать Ваши дебаты, но я писал прогу в школу, правда не шел, а так.... Вообщем запрещал открывать проги и окна ну и естественно настройки виндовские менять и оставался при Эксплорре. И все это благодаря реестру и WinAPi.
Конечно не сравнить уровень школьников и тех кто в клубы ходит, но в принципе..........
А на счет объединения я за! :) Может действительно написать дельную замену Эксплорэру?
← →
Polevi © (2002-12-28 10:58) [42]лучше не надо, плиз
← →
CjCrazy (2003-01-12 17:37) [43]хотелось бы узнать как у вас успехи в написание шела?
сам разрабатываю программу администрирования клуба (уже почти год работает).
← →
Ruf © (2003-01-13 15:56) [44]>SeF © > 2 markers © > DVM ©
Давайте обединяться!
Опыт есть. Но в комманде лучше!!!
← →
Gez © (2003-01-14 00:25) [45]Наконец нашел рлдственные души!!!
Интересуют основные концепции (задачи) шелла, Ведь у разных клубов разные запросы... А также интересны методы решения (открытие-закрытие программ - особенно *.bat, связь с сервером, шифрование логов, хранение динамических данных и т.д.).
Сам работал и админом и директором, перепробовал больше 15 программ, но во всех есть свои бочины: хороший админ - плохой клиент, наоборот.., дорогой, но недостаточно функций, не хочет закрывать некоторые проги, нет логов, нет поддержки карточек..
Может кто-то поделится какими-то стандартными правилами, не охота с нуля делать, что уже давно сделано.
Опыта в программировании шеллов нет :)), пока примеры по процессам ганяю..
← →
SeF © (2003-01-14 22:54) [46]
> CjCrazy (12.01.03 17:37)
У меня нормально, а markers ©, DVM © подняли бурю в стакане воды и замолчали...
← →
markers © (2003-01-15 05:46) [47]Здравствуйте нерод!!! Давно я с вами не общался...........
Работа блин, учеба и всё такое... Некогда было!!!!!
Но зато за это время я уже что-то своё наклепал....
> SeF Я персонально извиняюсь за "пассивность"
← →
DVM © (2003-01-15 16:04) [48]Я бурю, извиняюсь, не подымал, я просто ответил. Кто надо, по почте мне писал, я отвечал.
← →
SeF © (2003-01-15 20:45) [49]
> DVM © (15.01.03 16:04)
сори, я так написал потому что думал что предлагал тебе объединить усилия по написанию Shell-a.
как Ты отнесешся к объединению усилий?
← →
dvm © (2003-01-15 21:18) [50]К объединению усилий по написанию программы-замены стандартному Shell-у предназначенному для игровых залов и интернет кафе я отношусь положительно. Но как объеденить усилия, не представляю, если честно. Меня вообще давно интересовало, как сотни человек пишут одну программу и как координируют свои действия.
← →
SeF © (2003-01-16 01:30) [51]Мне кажется необходимо обсудить
1)требования к возможностям Shell-a;
2)у кого какие наработки;
3)кому что интересно реализовывать;
4)определить API модулей;
5)etc..
← →
markers © (2003-01-16 05:37) [52]Сотни человек одну программу > dvm пишут блоками, один челл добустим в безопастности очень хорошо продвинут, он пишет алгоритм криптографии парролей и etc. Другой допустим в работе с сетью очень хорошо силен, пишет модуль работы с сетью, а потом эти блоки сливаются воедино в одну прогу!!!
У меня наработак не так уж и много пока, но стараемся....
1) Блокировка
2) Возможность смены режима пользователя (Админ/Юзер)
3) Tray (плохой правда, но всё-же)
4) Смена пароля админа
5) Возможность нормального выхода админу
6) Невозможность закрыть прогу стандартными методами (Не считая Диспетчера задач и Far`а. с фаром я только вижу два способа борьбы
1-ый Удалить из полагинов фара, "список процессов", но тогда всё-равно юзер сможет лазит по винту и вс-такое вследствиичего см.2
2-й Если прога наша находится в обычном режимя (юзера) при появлении фара, закрывать его к едрени фени.. А в режиме админа нет)
Ну и т.д.!
← →
markers © (2003-01-16 05:40) [53]Да ещё забыл добавить, свой тасклиск (ListBox правда)
Ещё пока не доделал возможность закрытия активации и сворачивания......
Хочу сделать такой же (почти) listBox с прогами и т.д. на своей проге и т.д.
← →
DVM © (2003-01-16 09:55) [54]>markers: ну то что сотни человек пишут программу блоками - это понятно. Мне интересно другое. Есть, например, исходник. Допустим он достаточно длинный и нет возможности его разделить на 2 блока. Его должны писать 2 человека. Как им координировать свои действия? У каждого будет своя копия исходника и каждый будет править свою копию. Как следить за изменениями? Либо каждое изменение обговаривается, а затем вносится, либо будет полный бардак.
Панель задач я, кстати, сделал. Почти как у виндов. Трэй делать не стал - не особенно это нужно, да и сложновато будет, учитывая заранее неизвестное количество значков, которое может оказаться в трее. Я, допустим, готов спорить что даже виндовый трей сглючит, если там окажется 100 значков.
← →
CjCrazy (2003-01-16 10:08) [55]в качестве шела на данный момент использую LiteStep
благо небольшую защиту всё-таки даёт.
клиентам предоставлен доступ только до определённых приложений.
плюс в клиентскую часть встроен контроль запуска приложений. если есть в списке, то запускает.
а возможности по:
админская часть -
вход админа под своим именем.
комтроль времени. и-нета (стандартно)
динамический прайс
работа с картами постояных клиентов
ведение лога работы (загрузки) компов
лог посадок
лог действий админа (плюс контроль перезагрузки клиентских компов)
проплата дополнительных услуг (печать, запись сд)
статистика игр
клиентская чать -
блокировка компов
включение (выключение) и-нета
контроль запуска приложений
директорская часть -
отображение всех логов, статистик
добавление админов
редактирование прайса, списка игр, дополнительных услуг
+
просмотр отображение состояния зала в данный момент
(почти так же как у админа, тока без возможности посадить или пересадить клиента)
← →
CjCrazy (2003-01-16 10:27) [56]кстати, кто на каких делфах пишет????
(у меня D3 client/server)
← →
CjCrazy (2003-01-16 10:33) [57]2 dvm ©, (15.01.03 21:18)
>как сотни человек пишут одну программу и как координируют свои >действия
один из вариантов - модульная система.
(как мне представляется - мона ведь всё запихать в dll, а после компиляции выкладывать где-нить на фтп, чтобы остальные участники загружали себе обновления (вот только надо ещё подумать как определить где новое, а где старое).
ещё один вариант - просто пишем в разных модулях *.pas
а потом сливаем всё в один котёл. тока вот надо чтобы кто-то собрал всё в единое целое.
но ведь если внимательно подумать, то мона шо-нить сообразить умное :)
← →
DVM © (2003-01-16 10:35) [58]D6e.
>CjCrazy: то, что вы описали написано на Delphi Вами или это готовый комплекс? (имеется ввиду не LiteStep)
← →
SeF © (2003-01-16 12:17) [59]D6e
В принципе я согласен с > CjCrazy (16.01.03 10:08) с некоторыми оговорками:
Клиент НЕ должен включать/выключать Inet, этим должен заниматься Proxy server.
судя по всему требования к shell-у выяснили. предлагаю обсудить то у кого какие есть наработки.
← →
SeF © (2003-01-16 12:19) [60]У меня в основном по работе с системой/слежением за процессами/пользователями/etc...
← →
SeF © (2003-01-17 11:12) [61]Все? опять тишина?
← →
DVM © (2003-01-17 11:19) [62]И мертвые с косами стоят...
← →
msts (2003-01-17 13:55) [63]Наконец-то закончились праздники - добрался до работы.
Посидел сегодня над:
>CjCrazy
>клиентская чать -
>блокировка компов
>включение (выключение) и-нета
>контроль запуска приложений
получилось вести список задач (точнее их окон - Task panel)
используя хук WH_SHELL,
представление формы как поверхности рабочего стола (с фоновым рисунком и любыми компонентами)
возникли вопросы по
1. под какую версию Делфы писать - предлагаю 5 и выше
2. под какую версию Винды писать - пердлагаю поколение NT - 2000/XP
в NT есть понятие Desktop которым можно гибко управлять и все такое.
← →
CjCrazy (2003-01-17 17:16) [64]2 DVM
>то, что вы описали написано на Delphi Вами или это готовый >комплекс? (имеется ввиду не LiteStep)
акромя ЛС всё моё. код мой. (если не считать использованные компоненты
← →
CjCrazy (2003-01-17 17:19) [65]2 SeF
> Клиент НЕ должен включать...
всё дело в том, что я не смог подружиться ещё ни с одним прокси, кроме как WinRoute а клиент прото напросто прописывает шлюз и тем самым включает и-нет (причём начинает работать любая софта, даже не предназначенная для работы через прокси.
← →
CjCrazy (2003-01-17 17:24) [66]2 DVM © (16.01.03 09:55)
>Трэй делать не стал - не особенно это нужно, да и сложновато >будет, учитывая заранее неизвестное количество значков, которое >может оказаться в трее.
хм, легко мона сделать трэй на любое количество значков. проблема лишь в отображении (как вариант мона поставить скроллер :). да и при большом количестве значков может оказаться накладным обрабатывать от них все сообщения (то есть обрабатывать будет, но не так шустро как при двух-трёх)
← →
CjCrazy © (2003-01-17 19:00) [67]а защиту какую-нить ставите в по?
(скажем, какое-нить шифрование ехе-шника, ещё какую-нить приблуду, чтобы программа была более устойчива к взлому)
← →
SeF © (2003-01-18 00:54) [68]
> 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-18 09:32) [69]2 SeF,
>> CjCrazy © (17.01.03 19:00)
>> а защиту какую-нить ставите в по?
>Зачем???
ну как зачем? а как же всякие ушлые проги типа dede, которые разбирают делфёвые проекты на косточки и даже код представляют в ассемблерном виде?
даже обычная авторизация админа(оператора) в программе...
хотя, всё это может быть по большей части ерундой, если отслеживается в дизассемблерах.
например, тот же взлом игр, шобы cd не требовали. запускают дизассемблер (плюс отладчик может быть. не вникал я особо в эти тонкости) смотрят точки останова, кады игра орёт дай мол диск. возвращаются до предыдущего if и редактируют ехе-файл.
сам недавно вот приучил русскую гта3 работать без диска (правда делал я это в hex-редакторе, и лишь правил несоответствия с английским вариантом. но в итоге заработало)
← →
SeF © (2003-01-18 11:54) [70]с темже успехом я из 1с (не последней) доставал пароли при помощи SoftIce.
по этому проще запаковать чемнибудь для уменьшения объема *.exe
либо доп. dll которая время от времени будет проверять crc, а если crc будет не правильной то со случайным интервалом времени прога вываливается с какойлибо ошибкой. как вариант, у меня есть драйвер уровня ядра (NT) который пытается читать по адресу null после чего BSOD :)
← →
CjCrazy © (2003-01-18 16:15) [71]но ведь запакованное мона распаковать и дальше с тем же успехом ломать...
← →
SeF © (2003-01-18 22:45) [72]Самая лучшая защита - отсутствие тех поддержки не зарегиных пользователей IMHO.
← →
Gez © (2003-01-19 22:09) [73]DVM, можешь рассказать как ты панели задач делал. И интересно как ты связь организовал - Socket, UDP или что-то другое..
← →
DeadMeat © (2003-01-19 22:35) [74]Товарищи, я у вас тут новичок, но shell-ом тоже занимаюсь уже довольно давно, и (не хочу хвастать) кое-что наработал, кому интересно:
1) защита от убийства главного процесса shell-а;
2) блокировка нежелательных прог;
3) проверка на подмену "нашего shell-а" explorer-ом или кем-нибудь другим
4) блокировка system.ini; explorer.exe; regedit.exe и т.п.
5) 100% (по крайней мере пока) убийство игр (или чего другого) при блокировке компьютера
и т.п.
Свой TaskBar я сбацал, но пошёл весьма извращенским (как обычно) путём, кто может помочь, буду очень признателен...
← →
DVM © (2003-01-20 10:05) [75]> Gez
Панель задач сделать не очень сложно (как оказалось).
1. Нужна форма или какая нибудь панель (можно создать окно по примеру виндовой панели задач AppBar, можно взять обычную панель, можно ToolBar).
2. Эту панель следует расположить в нужном месте экрана (внизу) и лучше сделать неперетаскиваемой ввиду появления излишних сложностей с перекомпоновкой кнопок на ней.
3. Панель, кстати следует поместить либо внутрь ScrollBox-а, либо как-нибудь еще сделать прокрутку.
4. Далее наша задача получить список окон (в этом форуме вопрос всплывал).
5. Отрисовать кнопки (SpeedButton) на своей панели. Перед отрисовкой кнопок надо предварительно вычислить их размеры и положение опираясь на известное количество окон (задача непростая, надо учитывать что кнопка не может стать нулевой ширины и когда то надо начинать прокручивать панель).
6. Перед рисованием очередной кнопки следует получить иконку и текст из соответствующего окна (советую также в свойство Tag кнопки занести handle этого окна).
7. Перерисовку всех кнопок (предварительно уничтожив старые) надо производить при появлении нового окна или закрытии существующего. (момент ловится установкой соответствующих хуков).
8. Также, если необходимо создать полноценный аналог панели задач, следует ловить сообщения (опять хуки) о минимизации/максимизации окон и нажимать/отжимать соответствующие кнопки на своей панели.
9. Также следует активировать/деактивировать соответствующие окна при нажатии кнопок (либо посылкой им сообщений, либо функциями WinApi).
10. Каждой кнопке надо сопоставить PopupMenu, с соответствующими пунктами (закрыть, восстановить ...).
11. И, наверное, еще следует отслеживать не изменился ли у какого окна заголовок или иконка и перерисовывать их на кнопке.
(кто знает какие сообщения ловить?)
Вроде бы все.
← →
DVM © (2003-01-20 10:15) [76]> Gez
> И интересно как ты связь организовал - Socket, UDP или что-то
> другое..
Я не организовывал связь. Я делал только оболочку. Но связь организовать, по-моему, несложно. На клиентском компьютере стоит ServerSoket на админском ClientSoket периодически подключается к клиентским компам и передает им какую либо инфу (можно обычным текстом). Клиент в зависимости от этой инфы принимает решения, что делать.
Некоторые все это делают через зашаренный файл, но тогда на админской машине должен стоять Windows Server.
Только тормозит все это при большом количестве машин.
← →
DVM © (2003-01-20 10:22) [77]> DeadMeat
> защита от убийства главного процесса shell-а;
Что и в WinNT/2000/XP?
← →
DeadMeat © (2003-01-20 14:35) [78]> DVM
> защита от убийства главного процесса shell-а;
Где угодно...
> DVM
> Панель задач сделать не очень сложно (как оказалось)...
Всё это у меня давно сделано (правда чуть-чуть по другому), возникла другая проблема. Когда отсутствует в системе EXPLORER.EXE или INTERNAT.EXE окна при сворачивании превращаются в маленькие полосочки внизу экрана. От этого я избавился с трудом (но весьма неправильно), а как вы (все) от этого избавились.
← →
msts (2003-01-20 15:41) [79]не вкурсе как сделано в эксплорере
но у меня возник побочный эффект
свернутые окна ложатся под поверхность рабочего стола (моей формы) и их не видно
← →
DVM © (2003-01-20 17:28) [80]у меня окна нормально сворачиваются. Я для этого ничего и не делал специально.
> DeadMeat
Вы их как сворачиваете то?
> msts
А куда они по вашему должны деваться?. Они вообще по идее исчезать должны (это же не Win31). Или они и потом при восстановлении оказываются сзади? Тогда значит вы неправильно реализовали свой "рабочий стол". Не держится он у вас на заднем плане.
Я еще думаю, что многие ваши проблемы из-за того, что вы заменили эксплорер, а не закрыли его при старте своей оболочки.
← →
DeadMeat © (2003-01-20 20:38) [81]> DVM
> у меня окна нормально сворачиваются. Я для этого ничего и не делал специально.
А ты попробуй загрузится, запустить FAR (или что-нибудь подобное, где есть список всех процессов), убить EXPLORER.EXE и INTERNAT.EXE. А потом запустить например калькулятор и свернуть...
← →
DVM © (2003-01-20 20:48) [82]Да ладно, это у Вас глюк какой-то. Не знаю, может это действие фара, но моя шелл как раз это и делает - при старте убивает експлорер и всю байду с ним связанную и после программы сворачиваются нормально. Експлорер убивается с помощью TerminateProcess несколько раз по таймеру до полной смерти.
← →
DVM © (2003-01-20 20:52) [83]У меня программы сворачиваясь совсем "уходят", т.е. их не видно.
И потом нормально разворачиваются.
Пробовал во всех виндах: 98/nt/2000/xp
← →
DVM © (2003-01-20 21:00) [84]А чем INTERNAT то мешал - чего вы его мочите:). Это же переключатель клавиатуры.
← →
DeadMeat © (2003-01-20 21:29) [85]> DVM
> Да ладно, это у Вас глюк какой-то. Не знаю, может это...
Вообще-то это пройденый вариант. Если в нужный момент при загрузке нажать три весёлых клавиши (ALT+CTRL+DEL) то твой шел мона заблагополучно убить до того как он убьёт EXPLORER, именно так мы в нашем игровом клубе и снимали подобные проги...
> DVM
> А чем INTERNAT то мешал - чего вы его мочите:)...
А ты попробуй его вместе с EXPLORER-ом забить, как я до этого советовал и увидишь. Только я это проверял в 98 винде.
← →
DVM © (2003-01-20 22:21) [86]> DeadMeat
> Вообще-то это пройденый вариант. Если в нужный момент при
> загрузке нажать три весёлых клавиши (ALT+CTRL+DEL) то твой
> шел мона заблагополучно убить до того как он убьёт EXPLORER,
> именно так мы в нашем игровом клубе и снимали подобные проги...
Ясное дело снять можно. Любую другую защиту в Вин98 сломать тоже можно.
> А ты попробуй его вместе с EXPLORER-ом забить, как я до
> этого советовал и увидишь. Только я это проверял в 98 винде.
Попробовать не могу нет у меня сейчас 98. Ну не снимать INTERNAT - и все нормально сворачивается.
← →
DeadMeat © (2003-01-20 22:51) [87]> DVM
> Ясное дело снять можно...
А если тотально заменить EXPLORER то нельзя. т.е. физически можно, но это ничего не даст.
> Попробовать не могу нет...
Он грузится вместе с EXPLORER, т.е. он та и загружает INTERNAT, а так просто, без EXPLORER он не идёт, т.к. ему нужен Tray. Другое дело если этот Tray каким нибудь эмулировать, но как...??
← →
DVM © (2003-01-20 22:57) [88]А если на время уже из своей проги запустить эксплорер в свернутом состоянии и закрыть сразу же?
← →
msts (2003-01-21 09:10) [89]На счет минимизации - ничего исчезать не должно.
Сам подумай нет никакой оболочки, нет панели задач,
свернул окно и потерял его?
в W3X окна сворачивались в значек а теперь просто устанавливается стандартный, минимальный размер
а эксплорер чтоб не засорять рабочий стол просто прячет свернутые окна.
ща дему налобаю
Пора заводить тему Shell2
← →
DVM © (2003-01-21 11:28) [90]> msts
А кто прячет у меня окна, когда эксплорер выгружен из памяти???
← →
DeadMeat © (2003-01-21 17:25) [91]> DVM
> А кто прячет у меня окна, когда эксплорер выгружен из памяти???...
Я сам в это долго не мог поверить, но это делает INTERNAT
> msts
> а эксплорер чтоб не засорять рабочий стол просто прячет свернутые окна...
Я почти так и сделал в своём shell-е, но я не минимизирую их а потом прячу, а просто прячу и показываю.
← →
DVM © (2003-01-21 17:38) [92]> DeadMeat
> Я сам в это долго не мог поверить, но это делает INTERNAT
Надо же, а я и не знал. Во извращение то.
Хорошо хоть, что это только в вин98
← →
DeadMeat © (2003-01-21 18:25) [93]> DVM
> Надо же, а я и не знал. Во...
Абсолютно с вами солидарен дорогой товарищ... Так чё насчёт эмуляции трэя, идеи есть?...
← →
DVM © (2003-01-21 20:29) [94]Ну трей то сделать можно - самый примитив, чтобы INTERNAT запустить. Только опознает он его как трей? Пример трея на королевстве Делфи был где то.
Но может лучше сделать так, чтобы окна сворачивались нормально:
1. Ловим сообщения о минимизации главных окон.
2. В догонку, узнав хэндл окна, скрываем их.
3. Ловим сообщения о восстановлении окон - показываем окна.
← →
DeadMeat © (2003-01-22 21:14) [95]> DVM
А hook будет ловить WM_MINIMIZE и т.п. И кстати как вытащить системный popup окна и воткнуть его куда надо?...
← →
DVM © (2003-01-23 12:05) [96]Здесь Handle - хендл того окна от которого системное меню.
Handle2 - твоя программа. По крайней мере у иеня так работает.
procedure TForm1.Button1Click(Sender: TObject);
var
LItem : LongWord;
LMenu : HMENU;
begin
LMenu := GetSystemMenu(Handle,false);
LItem := LongWord(Windows.TrackPopupMenu(LMenu, TPM_LEFTBUTTON or
TPM_RIGHTBUTTON or TPM_RETURNCMD,
( Handle,WM_SYSCOMMAND,LItem,0) Здесь Handle - хендл того окна от которого системное меню.
Handle2 - твоя программа. По крайней мере у иеня так работает.
procedure TForm1.Button1Click(Sender: TObject);
var
LItem : LongWord;
LMenu : HMENU;
begin
LMenu := GetSystemMenu(Handle,false);
LItem := LongWord(Windows.TrackPopupMenu(LMenu, TPM_LEFTBUTTON or
TPM_RIGHTBUTTON or TPM_RETURNCMD,
100, 100, 0 , Handle2, nil));
if LItem>0 then SendMessage(Handle,WM_SYSCOMMAND,LItem,0);
end;
Коотрдинаты появления ставишь сам.
← →
DVM © (2003-01-23 12:07) [97]>DeadMeat
Тут нарыл исходники LiteStep - там много интересного, но на C.
← →
DeadMeat © (2003-01-23 14:59) [98]> DVM
> Тут нарыл...
Например...
← →
DeadMeat © (2003-01-24 00:29) [99]> DVM
А ты случаем не в курсе дел мерзких, как теперь это системное меню приткнуть к ToolButton...??
← →
DVM © (2003-01-24 18:11) [100]
> DeadMeat
см. Shell II
← →
S.P.I.R.I.T © (2003-01-25 01:19) [101]Удалено модератором
← →
crazyprogman © (2003-01-25 06:23) [102]
> S.P.I.R.I.T ©
Я с тобой полностью согласен...
Вобщем были у мя 2 шелки, одна сетевая другая не сетевая... разные постановки задач были... В итоге я на их доработку до полной работоспособности забил, но я думаю тебе почитать исходники полезно будет... 95% всего работает без багов... тока строго не судите по поводу некоторых криво сделанных вещей, это были мои одни из первых программ, опыта было маловато...
Скачать мона с http://www.soft.silus.ru/files/shell.exe
Будут какие нить вопросы пишите на мыло: ghost@silus.ru
← →
Antosya © (2003-01-25 19:45) [103]Дайте мне пожалуйста, те кому не жаль исходнички shel"ов! Плиз!!! Оч. надо! Намыльте! Кому не жаль! Тоже мог че-нибудь намылить!!!! Шлите!!! Ещё раз говорю, оч. надо!!!
← →
KoHe4Ho }|{e 6ot (2003-01-25 19:53) [104]Бирёш TServerSocet и TClientSocket ,
и кидайся между ними сообщениями , а потом с ними работай.
← →
gsu © (2003-01-26 00:48) [105]>> DeadMeat © (20.01.03 14:35)
>> > DVM
>> > защита от убийства главного процесса shell-а;
>> Где угодно...
Очень бы хотел посмотреть на данное чудо. Если Вы можете, вышлите кусочек кода на мыло или идею.
← →
DeadMeat © (2003-01-28 23:50) [106]> DVM
А зачем тебе хуки на клаву и мышу...??
← →
DVM © (2003-01-29 11:43) [107]
> DeadMeat
Ты про что про MyShell.rar что ли?
Хуки на клаву и мышь там про запас. Там вообще все виды хуков.
А конкретно на клаву, чтобы язык переключать и индицировать.
Я кстати уже многое в том коде переделал. В том что у тебя глюков много.
Меня один вопрос волнует: как перехватить создание окон консольных приложений в XP???
← →
DeadMeat © (2003-01-30 20:57) [108]> DVM
Пришли на мыло *.EXE-шник... плииз...!!
← →
FIj (2003-01-31 05:43) [109]>но у меня возник побочный эффект
>свернутые окна ложатся под поверхность рабочего стола (моей >формы) и их не видно
У формы свойство FormStyle выставь в fsNormal и только когда надо ставь FsStayOntop не забыв потом поменять назад....
Я написал такую прогу для одного клуба...Начну с такого
Во первых ненадо никаких таскбаров....Все что сворачиваеться сворачиваеться в окошки узкие вниз екрана...развернуть можно можно закрыть...нафиг извращения с ТаскБаром?Чтоб красиво было? Где это пользователи запускают милион игр? Что то я не видел...Тем более ихние траблы...Едем дальше..в 2000\ХП убираеться контрол альт дел....и прогу выгрузить ну никак нельзя если есть доступ только к играм...Дальше....В реестредефалт броузер устанавливаем в c:\fuck.exe теперь ни одна игра не откроет експлорер как бы не хотелось...Дальше....Пишем прогу на масме просто ExitProcess регистрируем ее для расширения...*.htm *.html *.hlp *.txt Этого волне достаточно....Дальше....отключаем сейф моде...А в самом шеле....при вводе пароля включаеться експлорер....Это все у меня уже пол года как работает...И за это время ни разу не глюкнуло...На форме попапменю...Игры>Подкатегория> Counter-Strike молодец играй кантру....Как время заканчиваться начинает мигает лампочка скрол лок...за 2 минуты...Потом когда 0 минут....Enable false у попапменю....Все игры киляем...все проги киляем...Отключаем альт таб...короче все блокируем (клаву мышь не надо проверено)...Дальше..для музыки свой плеер (для видео тот же) в котором...нельзя НИКАК лазить по дискам...есть пару плей листов и всё.....Виедо можно только плей\пауза стоп....и мотать....Выбираються фильмы музика....в этом шелле...Шел их читает из папок разных....В шелле активно только одно меню...из которого можно выключить\логофф\перегруз компа..по ф12 всплывает окно для ввода только пароля...
Все пашет через клиентсокет......Настройки сейвяться в реест....за него я не переживаю...туда хрен без пароля доберешься проверено..... Вобщем если что надо куском кода поделиться могу НО не всем исходником....Или помочь чем...так же могу дать ехешку для оценки...как сделано....Аська 111397611
← →
DVM © (2003-01-31 11:15) [110]
> Где это пользователи запускают милион игр?
Не игр. Internet Explorer. Всем я думаю ясно.
А то что окна сворачиваются в узкие полоски внизу экрана - это недостаток, а не достоинство.
← →
Antosya © (2003-01-31 16:18) [111]Мнееееееееееееееееееееее! Плиз! Скиньте на мыло! Пример. который заменит explorer.exe, т.е окно проги на весь экран, и с пуском и т.д, ну т.е. и с трэем если можно, и кнопочками на TaskBar"e. В общем чтобы был почти такой же как в винде TaskBar! Очень надо!!!
← →
DeadMeat © (2003-01-31 22:58) [112]> FIj
> DVM
*.EXE-шник на мыло (в хорошем смысле) пазаста...
← →
Freedom (2003-02-08 22:33) [113]Смотрю тут вы начали интересную тему а потом закинули А довести дело до конца слабо? Я вот тоже Shell пишу, за два дня многое пререпробовал много чего сделал. А вот неубиваемость проги сделать не знаю как. Может кто нибуть что нибудь посоветует. Если есть идеи напишите пожалуста :)
← →
DVM © (2003-02-09 01:34) [114]А почему ты думаешь, что до конца дело не довели?
Неубиваемость проги состоит в том, что нельзя давать челам запускать разные нехорошие программы, которыми можно убить шелл.
← →
DVM © (2003-02-10 08:12) [115]вот этот код заставит окна сворачиваться нормально в отсутствии эксплорера:
var
mm:TMINIMIZEDMETRICS;
begin
mm.cbSize := sizeof(MINIMIZEDMETRICS);
SystemParametersInfo(SPI_GETMINIMIZEDMETRICS, mm.cbSize, @mm, 0);
mm.iArrange := ARW_HIDE;
SystemParametersInfo(SPI_SETMINIMIZEDMETRICS, mm.cbSize, @mm, 0);
end;
← →
FREEDOM (2003-02-10 21:58) [116]>> DVM Понимаешь неубиваемость в том смысле, что когда запущен какой то процесс, то иногда программа просто зависает. А закрывать все левые процессы иногда не помогает. Просто надо заставить программу перезагружатся автоматически, если она зависнет.
← →
DeadMeat © (2003-02-11 23:46) [117]> FREEDOM
>Просто надо заставить программу перезагружатся автоматически, если она зависнет...
Я сделал почти так, но немного по другому... Когда кто-то (или что-то) патыется убить "меня", то комп перезагружается...
← →
CjCrazy © (2003-02-12 08:06) [118]2 Freedom, вот код, под 9х окно само стаёт "неубиваемым" (по Ctrl+Alt+Del).
то есть при попытке закрыть программу она закрывается, но предварительно запускает себя ещё разок. (шоб мало не казалось).
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure WndProc(var Msg : TMessage);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WndProc(var Msg : TMessage);
var si : TSTARTUPINFO;
pi : TPROCESSINFORMATION;
begin
case Msg.Msg of
wm_destroy : Begin
// Создадим другой процесс, а этот благополучно завершим.
// memset(&si, 0, sizeof(STARTUPINFO));
//зануляем память
ZeroMemory(@si,sizeof(TSTARTUPINFO));
si.cb := sizeof(TSTARTUPINFO);
//создаем новый процесс
//обратите внимание, что я использовал встроенную переменную cmdLine, т.к она
//содержит командную строку при помощи которой было вызвано приложение. В начале
//этой строки стоит имя нашего приложения, поэтому программа будет корректно рботать,
//даже если сменить имя .exe файла
CreateProcess(nil, cmdLine, nil, nil,FALSE, NORMAL_PRIORITY_CLASS, nil, nil, si, pi);
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
//Завершаем приложение
PostQuitMessage(0);
End;
end;
inherited;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
self.WindowProc:=wndproc;
end;
end.
← →
Freedom (2003-02-12 18:43) [119]=> CjCrazy © Код не проверял, но идея замечательная. СПАСИБО !!!
← →
Cosmic © (2003-02-13 11:22) [120]Удалено модератором
Примечание: Не по теме
← →
CjCrazy © (2003-02-13 21:00) [121]2 Freedom, код реально работает.
2 Cosmic, значит актуальная тема. и, кажется, она вобрала в себя уже немнога другие темы :)
← →
tosha (2003-03-03 21:19) [122]Удалено модератором
Примечание: Личная переписка
← →
vidiv © (2003-03-04 14:55) [123]Здорова, народ!
Я тоже озадачен проблемой shell для игрового клуба. Мои наработки позваляют отсеивать "левые процессы", я сделал свой IconList, сделал часы:), сделал SystemTray, и Завершение работы виндовс. кто хочет может посмотреть как это выглядит(скриншот) тут: http://www.sakhgu.sakhalin.ru/Vid/1.jpg . Я не знаю как сделать кнопочки на панели задач, как в Експлорере, главное что я подметил в эксплорере, он не юзает хуки (либо скрывает их)! а это уже о чем то говорит!. Там разные запуски прог и т.п. мелочи...
На счет коллективной работы, я за! и только за! Давайте как нибудь сканектимся, потому что тема актуальная. Сделаем общий шел, а потом каждый подредактит для себя... Я умею: делать немного красиво, сеть, ... .
Люди, я буду только рад контактам, обещаю подарить вам всем свои исходники, мне не жалко!
← →
DVM © (2003-03-04 16:15) [124]Удалено модератором
Примечание: Личная переписка
← →
vidiv © (2003-03-05 08:15) [125]Удалено модератором
Примечание: Личная переписка
← →
vidiv © (2003-03-05 09:32) [126]Еще хочу добавить, что любой Шел пишется, я думаю, для конкретной версии ОС, а не для всех сразу...
← →
DeadMeat © (2003-03-05 20:47) [127]> vidiv
С одной стороны это только мысля, но мне кажется, что "эксплордер" использует какой-нибудь таймер (жрущий поменьше ресурсов), на котором у него висит проца получения списка текущих открытых окон. Потом он сравнивает этот список со старым и в случае их различия добавляет или удаляет кнопки на "таске". По крайней мере я сделал так, пока не узнал про хуки.
← →
DVM © (2003-03-05 21:32) [128]
> С одной стороны это только мысля, но мне кажется, что "эксплордер"
> использует какой-нибудь таймер (жрущий поменьше ресурсов),
> на котором у него висит проца получения списка текущих открытых
> окон. Потом он сравнивает этот список со старым и в случае
> их различия добавляет или удаляет кнопки на "таске". По
> крайней мере я сделал так, пока не узнал про хуки.
Он использует RegisterShellHook я это уже писал выше, но сообщение удалили. Окну эксплорера система шлет персональные сообщения.
← →
dimich1978 © (2003-03-06 09:26) [129]В славном городе Владивостоке, была написана прога для администрирования клубов, стоимость от 7 тыс. руб. Так вот они там вообще как бы винду заменяют своим Shell который выглядит как винда.
http://www.taskmaster.ru
Правда я у них чего то скриншотов не нахожу.
← →
tosha (2003-03-08 17:19) [130]Типа хай ALL! Вот такая проблема ... для реализации запрета CTRL+ALT+DEL ALT+TAB CTRL+ESC используется эмуляция запуска скринсервера ... НО ЭТО ДЛЯ 9х, как бы это все сделать под NT!
← →
blabla (2003-03-08 21:10) [131]я правда под вин9x пишу =)
не,всетаки если отбить shell=explorer.exe некоторые гады (hogs of war к примеру) не грузятся,а
просто виснут в памяти =( и все притормаживает.это тока на пень4 сойдет,а если ОЗУ = 32 кб ?
и не обязательно explorer.exe ваще убивать,его можно спрятать.
var i:integer;
begin
i := 0;
{запрещаем системные комбинации кнопок}
SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @i, 0);
// второй параметр : 0-включить,1-выключить
// необходим unit WinProcs
end;
я пробовал под win9x и все корректно отрабатывало =) даже после закрытия приложения =P
работает только alt+F4 и ничего кроме,хотя кнопки все активны при надобности.
отшибает 100% "пуск", ctrl+alt+del, alt+tab, ctrl+esc, ctrl+d и много другого.
далее отшибаем "пуск" из трея,но нужный нам трей остается жив!
трей не обязательно отшибать и писать свой,если трей уже есть =)
var h:thandle;
begin
h := FindWindow("Shell_TrayWnd", nil); {"ProgMan" для рабочего стола}
h := GetWindow(h, GW_CHILD);
ShowWindow(h, SW_SHOW) ( h, SW_HIDE) я правда под вин9x пишу =)
не,всетаки если отбить shell=explorer.exe некоторые гады (hogs of war к примеру) не грузятся,а
просто виснут в памяти =( и все притормаживает.это тока на пень4 сойдет,а если ОЗУ = 32 кб ?
и не обязательно explorer.exe ваще убивать,его можно спрятать.
var i:integer;
begin
i := 0;
{запрещаем системные комбинации кнопок}
SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @i, 0);
// второй параметр : 0-включить,1-выключить
// необходим unit WinProcs
end;
я пробовал под win9x и все корректно отрабатывало =) даже после закрытия приложения =P
работает только alt+F4 и ничего кроме,хотя кнопки все активны при надобности.
отшибает 100% "пуск", ctrl+alt+del, alt+tab, ctrl+esc, ctrl+d и много другого.
далее отшибаем "пуск" из трея,но нужный нам трей остается жив!
трей не обязательно отшибать и писать свой,если трей уже есть =)
var h:thandle;
begin
h := FindWindow("Shell_TrayWnd", nil); {"ProgMan" для рабочего стола}
h := GetWindow(h, GW_CHILD);
ShowWindow(h, SW_SHOW) {показать}
// ShowWindow(h, SW_HIDE); {спрятать}
end;
а вот управление с другого компа-на ваше усмотрение =) мне оно было ни к чему.
а если еще доступ в интернет или по винту - свою прогу надо =(
я через реестр запретил винт!
Скрытие дисков в Моем компьютере (Windows 9x и NT)
Этот параметр управляет отображением дисков в "Моем компьютере", он дает возможность скрыть все диски или только выбранные.
Параметр "NoDrives" определяет, какие из дисков являются видимыми. Порядок устанавливается с самого низкого бита - диск A: до 26-ого бита - диск Z: Чтобы скрыть диск, включите его бит.
Если Вы не умеете работать с шестнадцатеричными числами, установите эти десятичные числа для скрытия диска(ов):
A: 1, B: 2, C: 4, D: 8, E: 16, F: 32, G: 64, H: 128, I: 256, J: 512, K: 1024, L: 2048, M: 4096, N: 8192, O: 16384, P: 32768, Q: 65536, R: 131072, S: 262144, T: 524288, U: 1048576, V: 2097152, W: 4194304, X: 8388608, Y: 16777216, Z: 33554432, ALL: 67108863
Обратите внимание: Эти диски будут все равно отображены в Диспетчере файлов, для удаления Диспетчера файлов, удалите файл winfile.exe.
Ключ: [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
Параметр: NoDrives
Тип: REG_DWORD
и в моем компе его нет и в осле при сейве/лоаде нету,но я жму
файл\открыть и пишу c: затем ставлю открыть как веб-папку.
ругнется,спросит открыть ли стандартными средствами,и откроет!
осел - дыра и ее надо убивать.
← →
blabla (2003-03-08 21:12) [132]тут про объединение говорят =)
пусть каждый выложит свои интересные наработки - API,
свои варианты решений ОДНОЙ КОНКРЕТНОЙ задачи.
и описание - как работает,что подключать,какие баги,какие параметры.
просьба всех заинтересовавшихся - попробовать исходники у себя,
описать найденные баги и как с ними бороться.
>msts
писать надо не под версию Делфи!
надо там маленько,стандартненько,чтоб и под наибольшим количеством
виндов шло,и использовались более/менее стандартные функции.
тогда при надобности ее будет можно даже на ассембер переписать,но
это фигня,надо придерживаться стандартов в любом случае,чтоб работало
не только на твоей машине.
← →
_ALEXey_ © (2003-04-10 13:43) [133]Может продолжим дискуссию!
У меня такая же задача - шелл для клуба.
← →
DVM © (2003-04-10 14:07) [134]
> Может продолжим дискуссию!
> У меня такая же задача - шелл для клуба.
и есть наработки?
← →
_ALEXey_ © (2003-04-10 17:12) [135]Кое-что есть!
Сейчас пытаюсь отследить работу с принтером: когда, кто, что и сколько печатал. Правда, пока тщетно!
А есть уже основа клиентской и админовской части. Есть регулятор громкости, медиа-проигрыватель (стандартный Виндовый, но с отсутствием главного и контекстных меню, чтобы не дать доступ юзерам к файловой системе), примитивный будильник, вычисляется рейтинг программ (кол-во запусков), создаются ярлыки собственного формата, запускаются проги.
Есть несколько типов пользователей, вход для админа по паролю, изменение пароля (пока простая шифрация паролей, но в планах - его криптографировать), протоколирование различных событий.
В общем всего понемногу.
DVM, не сочтите за дерзость, но я тут почитал - вы уже занимались подобной задачей и высылали исходники, может и мне вышлите ?!?!?!? Я посмотрю, может у вас есть какие-нибудь более оптимальные решения, чем у меня; идеи, до которых я не додумал. Буду очень признателен!
С/У ALEXey alexeyprimary@mail.ru
← →
Spartak © (2003-04-25 10:08) [136]Народ предлогаю меняться исходниками ! У меня есть 1 SHELL почти готовый , только без systray . + 1 программа для сервера !
+ 2 программs на с++ builder готовая TimeLocker + ClubTimer .
Сам занимаюсь этой проблемой уже 2 год ! меняю только на исходные коды на delphi ! так что если у кого есть свои наработки то можете писать на x_user_x@mail.ru
так же можете посмотреть программы на www.club-soft.narod.ru
← →
Orion2 © (2003-05-30 11:42) [137]А киньте мне в ящик хоть один исходничек шела. Пожалуйста. Очень интересно посмотреть как оно все работает.
← →
jonni © (2003-05-31 00:20) [138]TO SPARTAK!!!
slushay ti postupaesh hrenovo ya tebe skazu .. o chem rech bila pro CLubTimer.........esli vderug to dlya vseh i otkrito i open source!!!
vo vtorih eto kommercheskaya rabota voobscheta i po zakonu kak to vihodit krivo
tak chto podumay.....
← →
Spartak © (2003-05-31 08:05) [139]>jonni
Почему же хреново ?
я просто меняю исходники ! если кому надо то пусть попросят просто так я и дам :) Я же его не продаю ... Но и выкладывать посто так не хочю ! ты же тоже не всем даёшь исходники !
← →
jonni © (2003-06-02 00:01) [140]ya voobsche prosto nikomu ne dayu
bili odni da i to teper" na nih ti sebe ishodniki sobiraesh..
ladno eto o grustnom.....
teper" o horoshem .......
ya seychas pishu shell ochen; mnogo nashel informacii pro to kak i chto nuzno nedalat"..... vse na MSVC no legko perevodit"sya na delphi......
esche tak ze est" u menya nekotoraya chast" na Delphi....tray task bar zapusk servicov...... voobschem pochti vse chto nuzno dlya svoego shella (prosto est" na polovinu opensource na del"phi odnogo shella)
tebe interesno???
← →
ads (2003-06-02 11:37) [141]Hello All!
А как в клубе, разрешают в инет ходить ?
И проги скачивать и запускать их ?
← →
jonni © (2003-06-02 22:59) [142]to ads
ti eto o chem??? sformuliruy pravil"no vopros chto li??
a to ne ponyatno
← →
Spartak © (2003-06-03 07:44) [143]>jonni
я знаю чем ты сейчас занимаешься ! :)
Мнимательнее посмотри на адрес моего сайта и мою почту ! :)
Позже поговорим по ICQ
У меня сейчас свой проэкт ! но помочь я тебе всё равно смогу но позже
← →
Dimich1978 © (2003-06-03 14:45) [144]Ладно все говорят о функциональности...худо бедно(или толсто ии богаьто) реализовать этио все можно....теперь скажите, а как сделать всю отчетность, чтоб никто убить её не смог. Т.е. как защитить логи от F8 и все в таком духе. От ДоСа понимаю все равно не получится...хотя мож есть соображения.
У меня шелл кончно кривенький но есть, я вот соорудил красивенький сервер(загляденье), но вот встала проблема с сохранением логов, выбрал базы IB+сервер. Но все равно f8 хотя бы остается актуально. ЗАЩИТА ДАННЫХ....КАК и КТО ЗАЩИЩАЕТ?
← →
DVM © (2003-06-03 15:05) [145]
> Dimich1978 ©
Вообще-то бороться надо не с удалением, удаление - всем видно, за это админа можно и зарплаты лешить и вообще повесить на него всех собак, а с исправлением логов. Самый простой вариант шифровать и хранить в двух местах, сравнивая между собой копии. Лог хранить на недоступном админу сервере, писать в него должна серверная часть программы, а не та которой пользуется админ. Админская часть программы должна отдавать команды серверной. Клиенты также должны узнавать о своем состоянии от серверной части.
← →
Ghost (2003-06-04 06:57) [146]Можно проще !
смотришь дату и время последнего обращения к базе ! и записываешь.
После запуска сравниваешь !
← →
ads (2003-06-04 09:17) [147]to jonni
Как я понял речь идет о создании "шелл для клуба."
- значит есть клуб есть геймеры и от них защищаться нужно.
ок.
а в интернет им можно выходить с клубного компьютера ?
а скачивать разный софт ?
ADS.
← →
Spawn © (2003-06-04 11:45) [148]Привет) Я тоже свой шел, для клуба делаю. Щас вот только переписываю его полностью, так как опыта в написании классов мало и первая версия с созданием своих классов мне не очень понравилась. Если что то можно обьединиться) Я делал так - одна часть проги сам шел, а вторая его настройщик(Для добавления/удаления новых файлов, всяких вешних астроек шела и т.д.). Но он пойдет только в Вин 9х, поскольку я его ставил заместо основного шела - експлорера.
← →
DVM © (2003-06-04 12:52) [149]
> Но он пойдет только в Вин 9х, поскольку я его ставил заместо
> основного шела - експлорера.
причем здесь Win9x? Ставь ЗАМЕСТО Explorer-а и в Win2000/xp/nt.
> Если что то можно обьединиться
Не получится. Я этих призывов слышал сотни. Когда до дела доходит - все в кусты. Цель большинства таких призывов - завладеть чужими исходниками и все!
Я готов объединятся, извольте! Но! Отдавать свои нынешние наработки не согласен просто так. А наработки такие:
1. Полноценный десктоп, поддерживающий DragDrop файлов, папок, внутри себя и в другие(из других) программы.
2. Панель задач.
3. Куча модулей с собственными вспомогательными функциями (около 300 функций и процедур)
4. Все это на API без VCL и занимает 60 кб.
Мне не жалко, но... поймите, я тратил свое время, деньги наконец.
← →
Spawn © (2003-06-04 12:55) [150]Я имею ввиду, что в ini файле заместо explorera прописывал его. Для Вин НТ RegisterServisProcess не работает и там нужно совсем другое мутить
← →
Ghost © (2003-06-05 07:37) [151]>Spawn
В NT(2000) и XP этот параметр прописываеться в реестре ! ( для запуска Shell"a ) RegisterServisProcess не пойдёт в xP нужно делать как сервис , а чтобы 1 прога работала на winXP и win9x и при этом не была видна в списке процесов есть код ( для win9x ) регестрация сервиса ! ( т.е под win9x не видно , но и под winXP не ругаеться при запуске )
Если нужен код ( строчек 10 всего ) то пиши на мыло , меняю его на альтернативу или что нить подходящее )
← →
Maclud_Maclaud (2003-06-06 18:54) [152]Я тоже пишу шел для клуба:
У меня есть рабочий шел для XP
Возможности:
1. Отрубить Ctrl+Alt+Del
2. Полная блокировка при окончании времени
3. Не дает запускать одно если еще не занчило работу другое
4. Управление списком игр в режиме суперпользователя
5. Получение количества оставшегося времени
через подключенный плагин.
6. Нет привязки к конкретной программе серверу, поменялся сервер,
написался плагин в виде dll
7. Выключить/Перегрузить/Logoff
В планах:
1. Сделать плагин для обратной связи с сервером
Для возможности управления рабочей станцией с сервера
2. ...
С проблемой TaskBar-а не сталкивался, окна нормально сворачиваются.
На счет сотрудничеств, это не реальная затея...
А вот создание сайта посвященному этой тематике, это вполне реально
Что-бы, на нем можно было выкладывать свои наработки или скриншоты с описанием
разных хитростей.
Я с ужасом вспоминаю через что, прошел пока наклепал этот шел.
А сколько еще таких... Вот если бы классный FAQ по этому делу
← →
Yanis © (2003-06-06 21:59) [153]А почему эта тема всё еще в Основной, а не в Потрепаться?
← →
Ghost © (2003-06-07 08:41) [154]Могу выделить для данной затеи форум , ( закрытая ветка ) Если кто за то пишите мне , или по ICQ ! сайт с форумом www.omega-sector.kz/php-nuke/forum/
← →
Maclud_Maclaud (2003-06-07 17:18) [155]Вопрос к FIj и остальным:
Кто знает ключ реестра где указывается броузер по умолчанию,
чтобы из других приложений нельзя было открыть
← →
Yanis © (2003-06-07 17:23) [156]To Maclud_Maclaud (07.06.03 17:18)
В своём топике.
← →
Maclud_Maclaud (2003-06-08 18:01) [157]2Yanis
Не понял?!?
← →
Maclud_Maclaud (2003-06-09 18:23) [158]А почему самапальный шел необъяснимо долго грузится?
← →
DVM © (2003-06-10 14:22) [159]
> Maclud_Maclaud
Нормально все грузится. Умеючи делать надо.:)
← →
Yanis © (2003-06-10 14:23) [160]To Maclud_Maclaud (08.06.03 18:01)
Смотри на дату ^^^^^^^^^^^^^^^ вот на неё как раз стрелки указывают, я имел ввиду что свой вопрос надо в отдельном топике задавать, хотя уже неважно.
Страницы: 1 2 3 4 вся ветка
Текущий архив: 2003.08.25;
Скачать: CL | DM;
Память: 0.95 MB
Время: 0.021 c