Главная страница
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.015 c
14-83693
Belkova
2003-05-05 14:21
2003.05.26
Отчеты


3-83409
DBDev
2003-05-06 18:55
2003.05.26
Коллеги, запрос в MSSQL работает, а в MS не хочет, помогите


7-83759
[BAD]Angel
2003-03-26 19:34
2003.05.26
Как поставить атрибут


14-83672
pavel_k
2003-05-05 21:34
2003.05.26
Assembler лит-ра и инфа


7-83771
Stdnet
2003-03-29 18:25
2003.05.26
Date TimePicker