die gesuchte Funktion heißt: QueryServiceConfig2
@Luckie, bei dem source von dir kann ichs nicht finden.
Die Beschreibung eines Services anhand des Namen zu setzen geht so:
Delphi-Quellcode:
const
SERVICE_CONFIG_DESCRIPTION = 1;
type
TSERVICE_DESCRIPTION = packed record
lpDescription: PChar;
end;
[...]
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 := 'Erlaubt Login erst nach einlegen der richtigen CD.';
ChangeServiceConfig2A(lServiceHandle, SERVICE_CONFIG_DESCRIPTION, @lDescription);
CloseServiceHandle(lServiceHandle);
end;
CloseServiceHandle(lManager);
end;
end;
auslesen geht dann ähnlich, musst eben nur die Zeile "ChangeServiceConfig2A(..." sowie die vorherige zeile und dafür die andere Funktion einsetzen.