Прячем программу для TaskManager

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

Автор: Subfire

WEB-сайт: http://delphibase.endimus.com

{ **** UBPFD *********** by delphibase.endimus.com ****

>> Прячет программу в TaskManager (по Ctrl Alt Del)

Фунция прячет программу для TaskManager, регестрируя ее как сервис.

Запускать из приложения.

Передаешь true для регистрации сервиса, false для снятия регистрации.

Возвращает true если успешно.

В win95-98-ME программа исчезнет из списка задач.

В NT/2000/XP просто нет RegisterServiceProcess и функция вернет

false без возникновения ошибки.

Зависимости: *

Автор: Subfire, subfire@mail.ru, ICQ:55161852, Санкт-Петербург

Copyright: Subfire

Дата: 3 октября 2002 г.

***************************************************** }

function RegisterAsService(Enable: Boolean): boolean;

type

TRSP = function(H: THandle; K: word): longword; stdcall;

var

RSP: TRSP;

begin

@RSP := GetProcAddress(GetModuleHandle(PChar(‘kernel32.dll’)),

PChar(‘RegisterServiceProcess’));

Result := Assigned(@RSP);

if Result then

begin

if Enable then

Result := (RSP(0, 1) = 1)

else

Result := (RSP(0, 0) = 1);

end;

Пример использования:

// OnCreate

RegisterAsService(True); // Спрятали

// on **

RegisterAsService(False); // Показали

{/codecitation}

Добавить комментарий