Функция регистрирует свое приложение (откуда вызвана) в SimpleService
в Win9x (не будет видно в TaskManager и может работать до того, как пользователь
вошел в систему, запуская из ключа реестра
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices или HKLM\...\RunServicesOnce и продолжает работать после окончания
сессии пользователя)
Булевый параметр - включение или выключение режима
Возвращаемое значение - True в случае успеха
Особенность - функция не критична к операционной системе, программа
запустится даже под WinNT (где такая функция не существует в принципе),
а результат работы будет False.
function RegisterServiceProcessEx(Enable: boolean): boolean;
type TRSP = function (H: THandle; K: dword): dword; 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;
end;