Thema: Delphi Frage zu Systemdienst

Einzelnen Beitrag anzeigen

Benutzerbild von kuba
kuba

Registriert seit: 26. Mai 2006
Ort: Arnsberg
588 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Frage zu Systemdienst

  Alt 25. Jul 2008, 18:32
Zitat von Apollonius:
Was heißt "beinhaltet die Funktion nicht"? Entweder RegisterServiceCtrlHandler oder RegisterServiceCtrlHandlerEx muss er benutzen. Jeder Dienst muss das. Und die Abfrage hilft nicht viel, wenn du eine Benachrichtigung erhalten willst.
Habe ich auch gerade festgestellt und nochmal nachgeschaut, RegisterServiceCtrlHandler ist vorhanden.

Delphi-Quellcode:
PROCEDURE serviceproc(dwargc:integer;VAR lpszargv:pchar); STDCALL;
BEGIN
  sshstatushandle:=registerservicectrlhandler(pchar(servicename), @servicehandler);
  IF (sshstatushandle<>0) THEN BEGIN
    zeromemory(@ssstatus, sizeof(ssstatus));
    ssstatus.dwservicetype:=SERVICE_WIN32_OWN_PROCESS;
    ssstatus.dwcurrentstate:=SERVICE_START_PENDING;
    ssstatus.dwcontrolsaccepted:=SERVICE_ACCEPT_STOP OR SERVICE_ACCEPT_PAUSE_CONTINUE;
    ssstatus.dwwaithint:=1000;
    setservicestatus(sshstatushandle, ssstatus);
    stopped:=false;
    paused:=false;
    ssstatus.dwcurrentstate:=SERVICE_RUNNING;
    setservicestatus(sshstatushandle, ssstatus);
    SERVICE_MAIN;
    ssstatus.dwcurrentstate:=SERVICE_STOPPED;
    setservicestatus(sshstatushandle, ssstatus);
  END;
END;
Wie benutzt man das um eine Benachrichtigung zu erhalten ?

KUBA
Stefan Kubatzki
E=mc2
  Mit Zitat antworten Zitat