Zitat von
Luckie:
Sehr geschickt auf eine Oder-Farge mit "ja" zu antworten.
Bemüh doch mal deine Glaskugel
Sorry, meinte eigentlich den Displayname.
Es gibt wohl die
API Funktion
GetServiceDisplayName zu dem Zweck.
Aber folgender Code schmeisst mír eine
Access Violoation um die Ohren. Ich hab immer wieder die Probleme mit PChar und Konsorten. Es bedarf wohl nur einer kleinen Änderung, oder ?
Delphi-Quellcode:
function ServiceGetDisplayname (sMachine, sService:
string) :
string ;
var
SCManHandle, SvcHandle: SC_Handle;
SS: TServiceStatus;
dwStat: DWORD;
ok : boolean ;
sDisplayname : PChar ;
L : cardinal ;
begin
dwStat := 0;
// Open service manager handle.
SCManHandle := OpenSCManager(PChar(sMachine),
nil, SC_MANAGER_CONNECT);
if (SCManHandle > 0)
then
begin
ok := GetServiceDisplayName (SCManHandle,PChar(sService), sDisplayname, L) ;
CloseServiceHandle(SvcHandle);
Result :=
String(sDisplayname) ;
end else
Result := '
' ;
end;