ich wollte mal versuchen einen Dienst zu starten.
Und zwar hab ich folgendes getan...
Ich hab erstmal ein ganz simples Programm erstellt.
Code: Alles auswählen
MessageRequester("Test","Test, ob der Dienst funktioniert.")
Code: Alles auswählen
EnableExplicit
Procedure Service_Install(Name$, Title$, Program$, Description$="")
Protected hSCManager, hServ, lResult, lpDescription.String
hSCManager = OpenSCManager_(#Null, #Null, #SC_MANAGER_ALL_ACCESS)
If hSCManager
hServ = CreateService_(hSCManager, Name$, Title$, #SERVICE_ALL_ACCESS, #SERVICE_WIN32_OWN_PROCESS, #SERVICE_AUTO_START, #SERVICE_ERROR_NORMAL, Program$, #Null, #Null, #Null, #Null, #Null)
If hServ
If Description$
lpDescription\s = ReplaceString(Description$, Chr(10), " ")
lResult = ChangeServiceConfig2_(hServ, #SERVICE_CONFIG_DESCRIPTION, @lpDescription)
EndIf
CloseServiceHandle_(hServ)
EndIf
CloseServiceHandle_(hSCManager)
EndIf
If hServ And lResult
ProcedureReturn #True
EndIf
ProcedureReturn #False
EndProcedure
If Service_Install("Dienst87","Titel von Dienst87","C:\Dokumente und Einstellungen\My\Eigene Dateien\Dienst87.exe","Beschreibung von Dienst87")=#True
Debug "Service wurde erfolgreich installiert"
Else
Debug "Service konnte nicht installiert werden"
EndIf
So... nun das Problem...
Hiermit wollte ich dann den Dienst starten:
Code: Alles auswählen
EnableExplicit
Procedure Service_Start(Name$)
Protected hSCManager, hServ, lResult
hSCManager = OpenSCManager_(#Null, #Null, #GENERIC_READ | #SC_MANAGER_CONNECT)
If hSCManager
hServ = OpenService_(hSCManager, Name$, #GENERIC_EXECUTE)
If hServ
lResult = StartService_(hServ, 0, #Null)
CloseServiceHandle_(hServ)
EndIf
CloseServiceHandle_(hSCManager)
EndIf
If hServ And lResult
ProcedureReturn #True
EndIf
ProcedureReturn #False
EndProcedure
If Service_Start("Dienst87")
Debug "Service wurde gestartet"
Else
Debug "Service konnte nicht gestartet werden"
EndIf
Kann mir jemand erklären, warum der Service nicht gestartet werden konnte?