![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как скрыть программу [D5, Win95/98, WinXP]
Talla2k © (2003-12-12 15:13:00)Этот вопрос не раз подымался,но все-же запамятовал,пардон!!!
Как скрыть программу с панели задач и вообще её спрятать!!!
Kerk (2004-01-14 12:42:00) [1]"How to become unseen on Windows NT"
http://rootkit.host.sk/knowhow/hidingen.txt
KosilkA (2004-01-14 12:08:00) [2]
> В XP и 2000 скрыть прогу нельзя от диспетчера задач.
можно , и не одним способом
Dr Brain (2004-01-14 09:13:00) [3]http://www.void.ru/?do=printable&id=876
http://bugtraq.ru/library/programming/invisible.html
Правда не на Делфи, но очень доходчиво.
DrPass (2004-01-14 01:03:00) [4]Пройти курс "Динамическая загрузка DLL для начинающего программиста"
GrayFace (2004-01-14 00:48:00) [5]'if not(csDesigning in ComponentState)' не нужно.
А как сделать так, чтобы в 98 скрывалась из с писка, но не выдавала на NT ошибку отсутствия Kernel32.dll.
LOX (2003-12-12 18:29:00) [6]Просто вот так:
Скрывает кнопку проги с панели задач:
ShowWindow(Application.Handle,sw_Hide);
НО! этот код скрывает только кнопку, а чтобы скрыть окно
просто - form1.HIDE;
---------------
В 9х скрыть приложение от диспетчера задач(ctrl - alt- del) вот так:
До слова implementation вписываем следующую функцию:
function RegisterServiceProcess(dwProcessID,dwType:integer):integer;stdcall;external 'KERNEL32.DLL';
А на создание окна код будет выглядеть так:
procedure TForm1.FormCreate(Sender: TObject);
begin
if not(csDesigning in ComponentState) then
RegisterServiceProcess(GetCurrentProcessID,1);
end;
Ну вот и всё, а если вам понадобится сделать прогу видимой, тогда сделаем это так:
procedure TForm1.Button1Click(Sender: TObject);
begin
if not(csDesigning in ComponentState) then
RegisterServiceProcess(GetCurrentProcessID,0);
end;
--------
В XP и 2000 скрыть прогу нельзя от диспетчера задач.
Игорь Шевченко (2003-12-12 18:17:00) [7]Зачем ?