Einzelnen Beitrag anzeigen

Benutzerbild von emsländer
emsländer

Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
 
RAD-Studio 2009 Ent
 
#6

Re: Einem Dienst eine Erklärung für die MMC mitgeben

  Alt 23. Okt 2008, 20:18
Zitat von SirThornberry:
Der Standardservice bietet keine Möglichkeit eine Beschreibung anzugeben. Diese habe ich bisher daher über die Apifunktion selbst gesetzt:
Delphi-Quellcode:
[...]
const
  SERVICE_CONFIG_DESCRIPTION = 1;

type
  TSERVICE_DESCRIPTION = packed record
    lpDescription: PChar;
  end;
[...]
  function ChangeServiceConfig2A(hService: HWND; dwInfoLevel: DWord; lpInfo: Pointer): BOOL; stdcall; external 'advapi32.dll';
[...]
procedure TYourServiceClass.ServiceAfterInstall(Sender: TService);
var
  lDescription : TSERVICE_DESCRIPTION;
  lManager,
  lServiceHandle : Cardinal;
begin
  lManager := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
  if (lManager <> 0) then
  begin
    lServiceHandle := OpenService(lManager, PChar(Self.Name), SERVICE_ALL_ACCESS);
    if (lServiceHandle <> 0) then
    begin
      lDescription.lpDescription := 'Deine Beschreibung';
      ChangeServiceConfig2A(lServiceHandle, SERVICE_CONFIG_DESCRIPTION, @lDescription);
      CloseServiceHandle(lServiceHandle);
    end;
    CloseServiceHandle(lManager);
  end;
end;
@SvB: Woher hast du den Quelltext? Der sieht ja 1 zu 1 aus wie der aus meinem Projekt.
Hi,

vielen Dank. Verrätst Du mir auch noch, welche Unit ich für "OpenSCManager" etc. einbinden muss?

Gruss

EL


Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
  Mit Zitat antworten Zitat