Архив исходников программ, модулей и компонентов на Delphi


Начальная страница

Поиск по базе



Операционная система
Настройка приложения
Взаимодействия приложений
Файлы и директории
Строки и символы
Математика
Базы данных
Интернет и сеть
Мультимедиа
Аппаратная часть
VCL
Другие разделы [0]
 

Количество записей в базе - 537
Сегодня добавлено – 0

Взаимодействие с ОС



Вернуться к списку функций
 Прячет программу в TaskManager (по Ctrl+Alt+Del)

 Прислал: Subfire (Санкт-Петербург) ( 3 октября 2002 г. )
©  Subfire
 Описание:
Фунция прячет программу для TaskManager, регестрируя ее как сервис.
Запускать из приложения.
Передаешь true для регистрации сервиса, false для снятия регистрации.
Возвращает true если успешно.
В win95-98-ME программа исчезнет из списка задач.
В NT/2000/XP просто нет RegisterServiceProcess и функция вернет false без возникновения ошибки.

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

 Ограничения:
Только Win95-98-ME. В NT,2000,XP просто не будет работать без генерации ошибки.

 Исходный текст:
{ **** UBPFD *********** by http://kladovka.net.ru/delphibase/ ****
>> Прячет программу в 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);//Показали


Вернуться к списку функций

Наверх ▲