Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 3 odgovora
  • 2.266 pregleda

Najnovija ↓

Servisna aplikacija 28.10.2009. u 12:45 · pre 207 meseci #1
Pokušavam napraviti program koji bi se vrtio kao servis.
Win vista, D2007

Program bi trebao zatvoriti progab B ako je ovaj aktivan.
Problem je što se servis ne izvrši. Pokušao sam staviti timer, niti on se ne okine.

Ako poziv procedure (Izvrsi) napravim u AfterInstall, izvrši se. Isto tako u bazu se uredno svaki put upiše vrijeme pokretanja.

Porgram pokrećem tako da sam u Delphi-u, "Project -> Otpitons -> Debugger -> Parameters" upisao: /install, a kad želim deinstalirati servis promjenim parametar u /deinstall. Nakon toga mi Run napravi compile i install ili deinstall programa.

Ovo je osnovni kod:

Code:

procedure TIntraReg.Izvrsi;
var tl: TStringList;
begin
   tl := TStringList.Create;
   tl.LoadFromFile('C:\RegInit.ini');
   // ako je u ini file-u upisao "Ime programa=KRAJ", zatvornit će taj program
   if tl.Values['KRAJ'] = 'True' then KillApp('Neki program');
   tl.Free;
end;

function TIntraReg.KillApp(const sCapt: PChar): boolean;
  var AppHandle:THandle;
begin
  AppHandle:=FindWindow(Nil, sCapt) ;
  Result:=PostMessage(AppHandle, WM_QUIT, 0, 0) ;
end;

procedure TIntraReg.ServiceAfterInstall(Sender: TService);
begin
   ibd.Open;
   q.Open;
   q.Append;
   qPODATAK.AsString := 'Start: ' + TimeToStr(now);
   q.Post;
   q.Transaction.Commit;
   ibd.Close;
end;

procedure TIntraReg.ServiceExecute(Sender: TService);
begin
   while not Terminated do begin
      Izvrsi;
      Sleep(1000);
   end;
end;


Zanim me još jedna stvar: da li i kako mogu otkriti da li je neki program pokrenut i zatvoriti ga preko njegovog imena (npr: Notepad.exe)

Re: Servisna aplikacija 28.10.2009. u 19:50 · pre 207 meseci #3
1. Mora biti van dohvata prosječnog korisnika
2. tako su tražili :(

Imam još jedan problem (osim što ne radi...):
Servis se nakon install-a ne starta, a kad ga pokušam startati ručno - neće.

Može li tko reći u čemu je greška?
Re: Servisna aplikacija 28.10.2009. u 21:32 · pre 207 meseci #4
> Imam još jedan problem (osim što ne radi...):

Da li ti je uključeno interact with desktop u opcijama servisa? Ti ne proveravaš da li je poziv FindWindow uspeo, ako nije pozovi GetLastError.

> Servis se nakon install-a ne starta, a kad ga pokušam startati ručno - neće.

Šta ti javi, pogledaj u sistemskom event vieweru ima li grešaka? I da li ga startuješ iz Services managera?

Dodaj i sledeći red u petlji Execute metodi:
ServiceThread.ProcessRequests(False);
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme