![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
---|Ветка была без названия|---
SeF © (2002-12-17 04:54:00)
Поставили мне задачу свой subj сделать в игровой зал.
вопрос:
какие сообщения необходимо ловить.(хотябы основные).
как реагировать на них.
приму приму большенство ответов кроме: на х.. тебе надо делать, воспользуйся тойто прогой. etc..
Cosmic (2003-02-13 11:22:00) [41]
Удалено модератором
Примечание: Не по теме
Freedom (2003-02-12 18:43:00) [42]
=> CjCrazy © Код не проверял, но идея замечательная. СПАСИБО !!!
CjCrazy (2003-02-12 08:06:00) [43]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.
DeadMeat (2003-02-11 23:46:00) [44]
> FREEDOM
>Просто надо заставить программу перезагружатся автоматически, если она зависнет...
Я сделал почти так, но немного по другому... Когда кто-то (или что-то) патыется убить "меня", то комп перезагружается...
FREEDOM (2003-02-10 21:58:00) [45]
>> DVM Понимаешь неубиваемость в том смысле, что когда запущен какой то процесс, то иногда программа просто зависает. А закрывать все левые процессы иногда не помогает. Просто надо заставить программу перезагружатся автоматически, если она зависнет.
DVM (2003-02-10 08:12:00) [46]
вот этот код заставит окна сворачиваться нормально в отсутствии эксплорера:
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;
DVM (2003-02-09 01:34:00) [47]
А почему ты думаешь, что до конца дело не довели?
Неубиваемость проги состоит в том, что нельзя давать челам запускать разные нехорошие программы, которыми можно убить шелл.
Freedom (2003-02-08 22:33:00) [48]
Смотрю тут вы начали интересную тему а потом закинули А довести дело до конца слабо? Я вот тоже Shell пишу, за два дня многое пререпробовал много чего сделал. А вот неубиваемость проги сделать не знаю как. Может кто нибуть что нибудь посоветует. Если есть идеи напишите пожалуста :)
DeadMeat (2003-01-31 22:58:00) [49]
> FIj
> DVM
*.EXE-шник на мыло (в хорошем смысле) пазаста...
Antosya (2003-01-31 16:18:00) [50]
Мнееееееееееееееееееееее! Плиз! Скиньте на мыло! Пример. который заменит explorer.exe, т.е окно проги на весь экран, и с пуском и т.д, ну т.е. и с трэем если можно, и кнопочками на TaskBar"e. В общем чтобы был почти такой же как в винде TaskBar! Очень надо!!!
DVM (2003-01-31 11:15:00) [51]
> Где это пользователи запускают милион игр?
Не игр. Internet Explorer. Всем я думаю ясно.
А то что окна сворачиваются в узкие полоски внизу экрана - это недостаток, а не достоинство.
FIj (2003-01-31 05:43:00) [52]
>но у меня возник побочный эффект
>свернутые окна ложатся под поверхность рабочего стола (моей >формы) и их не видно
У формы свойство FormStyle выставь в fsNormal и только когда надо ставь FsStayOntop не забыв потом поменять назад....
Я написал такую прогу для одного клуба...Начну с такого
Во первых ненадо никаких таскбаров....Все что сворачиваеться сворачиваеться в окошки узкие вниз екрана...развернуть можно можно закрыть...нафиг извращения с ТаскБаром?Чтоб красиво было? Где это пользователи запускают милион игр? Что то я не видел...Тем более ихние траблы...Едем дальше..в 2000\ХП убираеться контрол альт дел....и прогу выгрузить ну никак нельзя если есть доступ только к играм...Дальше....В реестредефалт броузер устанавливаем в c:\fuck.exe теперь ни одна игра не откроет експлорер как бы не хотелось...Дальше....Пишем прогу на масме просто ExitProcess регистрируем ее для расширения...*.htm *.html *.hlp *.txt Этого волне достаточно....Дальше....отключаем сейф моде...А в самом шеле....при вводе пароля включаеться експлорер....Это все у меня уже пол года как работает...И за это время ни разу не глюкнуло...На форме попапменю...Игры>Подкатегория> Counter-Strike молодец играй кантру....Как время заканчиваться начинает мигает лампочка скрол лок...за 2 минуты...Потом когда 0 минут....Enable false у попапменю....Все игры киляем...все проги киляем...Отключаем альт таб...короче все блокируем (клаву мышь не надо проверено)...Дальше..для музыки свой плеер (для видео тот же) в котором...нельзя НИКАК лазить по дискам...есть пару плей листов и всё.....Виедо можно только плей\пауза стоп....и мотать....Выбираються фильмы музика....в этом шелле...Шел их читает из папок разных....В шелле активно только одно меню...из которого можно выключить\логофф\перегруз компа..по ф12 всплывает окно для ввода только пароля...
Все пашет через клиентсокет......Настройки сейвяться в реест....за него я не переживаю...туда хрен без пароля доберешься проверено..... Вобщем если что надо куском кода поделиться могу НО не всем исходником....Или помочь чем...так же могу дать ехешку для оценки...как сделано....Аська 111397611
DeadMeat (2003-01-30 20:57:00) [53]
> DVM
Пришли на мыло *.EXE-шник... плииз...!!
DVM (2003-01-29 11:43:00) [54]
> DeadMeat
Ты про что про MyShell.rar что ли?
Хуки на клаву и мышь там про запас. Там вообще все виды хуков.
А конкретно на клаву, чтобы язык переключать и индицировать.
Я кстати уже многое в том коде переделал. В том что у тебя глюков много.
Меня один вопрос волнует: как перехватить создание окон консольных приложений в XP???
DeadMeat (2003-01-28 23:50:00) [55]
> DVM
А зачем тебе хуки на клаву и мышу...??
gsu (2003-01-26 00:48:00) [56]
>> DeadMeat © (20.01.03 14:35)
>> > DVM
>> > защита от убийства главного процесса shell-а;
>> Где угодно...
Очень бы хотел посмотреть на данное чудо. Если Вы можете, вышлите кусочек кода на мыло или идею.
KoHe4Ho }|{e 6ot (2003-01-25 19:53:00) [57]
Бирёш TServerSocet и TClientSocket ,
и кидайся между ними сообщениями , а потом с ними работай.
Antosya (2003-01-25 19:45:00) [58]
Дайте мне пожалуйста, те кому не жаль исходнички shel"ов! Плиз!!! Оч. надо! Намыльте! Кому не жаль! Тоже мог че-нибудь намылить!!!! Шлите!!! Ещё раз говорю, оч. надо!!!
crazyprogman (2003-01-25 06:23:00) [59]
> S.P.I.R.I.T ©
Я с тобой полностью согласен...
Вобщем были у мя 2 шелки, одна сетевая другая не сетевая... разные постановки задач были... В итоге я на их доработку до полной работоспособности забил, но я думаю тебе почитать исходники полезно будет... 95% всего работает без багов... тока строго не судите по поводу некоторых криво сделанных вещей, это были мои одни из первых программ, опыта было маловато...
Скачать мона с http://www.soft.silus.ru/files/shell.exe
Будут какие нить вопросы пишите на мыло: ghost@silus.ru
S.P.I.R.I.T (2003-01-25 01:19:00) [60]
Удалено модератором