Witam, po raz kolejny poruszam ten problem ponieważ artykuł w tym serwisie ani na innych stronach mi nie pomógł...Mianowicie, chcę napisać usługę która będzie startowała przy samym starcie windowsa(tak jak kaspersky np.) następnie sprawdzała czy w istnieje dany klucz w rejestrze np. i jeśli istnieje to uruchomienie innego programu a jak nie to sama się wyłączy.
Aby wszystko było jasne robiłem tak:
w zdarzeniu >onExecute<:
Timer1.Enabled := True;
while not Terminated do
ServiceThread.ProcessRequests(True);
Timer1.Enabled := False;
i procedura timera:
procedure TService1.Timer1Timer(Sender: TObject);
var reg: tregistry;
istnieje: string;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CURRENT_USER;
REg.OpenKey('klucz', true);
istnieje:= reg.ReadString('test'); //wczesniej napisalem co prawda ze sprawdza czy jest klucz ale zmienilem ze sprawdza wartosc klucza
reg.Free;
if Istnieje = 'jest' then
begin
showmessage('dziala');
//ShellExecute(handle, 'open', 'program.exe', nil, nil, SW_SHOWNORMAL);
end
else
begin
showmessage('nie dziala');
end;
Kod może mieć błędy ale chodzi o idee...
Pozdrawiam:)