Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.26;
Скачать: CL | DM;

Вниз

CTRL+ALT+DEL и ALT+TAB   Найти похожие ветки 

 
Serega   (2003-03-25 18:19) [0]

Ув. мастера!!! Как сделать чтобы программа не была видна по ALT+TAB и CTRL+ALT+DEL.
Я делаю так:
...
function RegisterServiceProcess(ProcessID, Typ: Integer): Integer;
external "KERNEL32.DLL";

procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterServiceProcess(GetCurrentProcessId, 1);
ShowWindow(Application.Handle, SW_HIDE);
SetWindowLong(Application.Handle, GWL_EXSTYLE,
GetWindowLong(Application.Handle, GWL_EXSTYLE) or
WS_EX_TOOLWINDOW);
end;
...
но он говорит что:
"Точка входа в процедуру RegisterServiceProcess не найдена в
библиотеке DLL KERNEL32.dll"

Помогите!!!


 
___ALex___ ©   (2003-03-25 19:11) [1]

такой способ работает только в виндах 9x


 
DVM ©   (2003-03-25 20:44) [2]

Вроде, если название проге дать пустой строкой, то ее видно не будет. Или заголовок формы пустой строкой оформить.


 
Grinia   (2003-03-25 22:30) [3]

Экспортить надо для пущей уверенности по имени или по индексу (642).
У меня всё работает, правда если NT, то статически прилинкованная RegisterSe...ess вызовет ошибку настройки адресов в загрузчике ( в NT-шной Kernel такая радость отсутсвует ). Я загружаю всё динамически:
GetProcAddress(GetModuleHandle("..."),"...");
Есть ещё один способ, правда иногда не пашет, но попробовати можно :)

Application.Initialize;
SetWindowLong(Application.Handle,GWL_EXSTYLE,GetWindowLong(Application.Handle,GWL_EXSTYLE) or WS_EX_TOOLWINDOW);
Application.CreateForm(TForm1, Form1);
Application.Run;


 
NightAngel   (2003-03-25 22:36) [4]

Этот код защищает только от нажатия ctrl-alt-del в w9x и ME. Любой просмотрщик процессов и окон немедленно обнаружит такой процесс. Чтобы этого не случилось, в winXP требуется перехватить NtQuerySystemInformation для "процессной" невидимости и EnumWindows, EnumThreadWindows, EnumChildWindows для "оконной". Также, желательно было бы спрятать нечто "слушающее" на каком-либо TCP/UDP порту от команд типа "netstat -a".


 
NightAngel   (2003-03-25 22:42) [5]

Этот код защищает только от нажатия ctrl-alt-del в w9x и ME. Любой просмотрщик процессов и окон немедленно обнаружит такой процесс. Чтобы этого не случилось, в WinXP требуется перехватить NtQuerySystemInformation для "процессной" невидимости и EnumWindows, EnumThreadWindows, EnumChildWindows для "оконной". Также, желательно было бы спрятать нечто "слушающее" на каком-либо TCP/UDP порту от команд типа "netstat -a".


 
Игорь Шевченко ©   (2003-03-26 10:13) [6]


> winXP требуется перехватить NtQuerySystemInformation для
> "процессной" невидимости и EnumWindows, EnumThreadWindows,
> EnumChildWindows для "оконной".



Успехов. Если много времени.


 
NightAngel   (2003-03-28 19:19) [7]

>Успехов. Если много времени.

Подобными вещами, я не занимаюсь. Просто ответ на вопрос. Я в курсе, по поводу Hook-ов, а перехват это необязательно Hook (и не надо мне тонких намёков). Кому надо, тот сделает. Что касается времени... Сложность, понятие субъективное.



Страницы: 1 вся ветка

Текущий архив: 2003.05.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
3-83420
Iliasaur
2003-05-07 10:12
2003.05.26
---|Ветка была без названия|---


9-83315
ЛехаШ
2002-11-04 09:05
2003.05.26
Столкновение шаров


3-83325
smol_cerber
2003-05-07 10:48
2003.05.26
BDE + Paradox таблицы версии 3.5 в DOS-кодировке


1-83588
vsu
2003-05-14 13:20
2003.05.26
RxLoginDialog и с чем его едят


14-83741
Renegate
2003-05-07 14:35
2003.05.26
Epson 680.