Hallo,
ich möchte ein Tool schreiben, dass beliebige Anwendungen als Dienst startet. Hierzu benötige ich etwas Hilfe.
Meine Ideee:
Delphi-Quellcode:
procedure RegisterService(
Name, DisplayName, ExeName: PChar);
var hSCM, hservice, i: Integer;
begin
hSCM:=OpenSCManager(
nil,
nil, SC_MANAGER_ALL_ACCESS);
if hSCM=0
then raise Exception.Create(SyserrorMessage(GetLastError));
hService:=CreateService(hSCM,
Name,DisplayName,
SERVICE_START
OR
SERVICE_QUERY_STATUS
OR
_DELETE,
SERVICE_WIN32_OWN_PROCESS,
SERVICE_AUTO_START,
SERVICE_ERROR_NORMAL,
ExeName,
NIL,
NIL,
NIL,
NIL,
NIL);
if hService = 0
then
begin
CloseServiceHandle(hSCM);
raise Exception.Create(SyserrorMessage(GetLastError));
end;
CloseServiceHandle(hSCM);
CloseServiceHandle(hService);
end;
Der Dienst wird zwar installiert und unter den Windows Diensten angezeigt. Wenn ich versuche diesen zu starten bekomme ich aber die Fehlermeldung:
1053 Der Dienst antwortete nicht rechtzeitig auf die Start- oder Steuerungsanforderung.
So jetzt seid Ihr gefragt, wo liegt das Problem??
Danke Baeuerle