wegsemmelten, hab ich den Fehler gefunden. Es war keine Struktur zu dem Pointer angegeben,
die allerdings erwartet wird.
Hab das dann mal kurzerhand mit folgendem korrigiert ...
Code: Alles auswählen
Procedure Service_Stop(Name$)
Protected hSCManager, hServ, lResult
Protected *p.SERVICE_STATUS = AllocateMemory(SizeOf(SERVICE_STATUS))
hSCManager = OpenSCManager_(#Null, #Null, #GENERIC_READ | #SC_MANAGER_CONNECT)
If hSCManager
hServ = OpenService_(hSCManager, Name$, #GENERIC_EXECUTE)
If hServ
If *p
lResult = ControlService_(hServ, #SERVICE_CONTROL_STOP, *p)
FreeMemory(*p)
EndIf
CloseServiceHandle_(hServ)
EndIf
CloseServiceHandle_(hSCManager)
EndIf
If hServ And lResult
ProcedureReturn #True
EndIf
ProcedureReturn #False
EndProcedure
Code: Alles auswählen
Procedure Service_Pause(Name$)
Protected hSCManager, hServ, lResult
Protected *p.SERVICE_STATUS = AllocateMemory(SizeOf(SERVICE_STATUS))
hSCManager = OpenSCManager_(#Null, #Null, #GENERIC_READ | #SC_MANAGER_CONNECT)
If hSCManager
hServ = OpenService_(hSCManager, Name$, #GENERIC_EXECUTE)
If hServ
If *p
lResult = ControlService_(hServ, #SERVICE_CONTROL_PAUSE, *p)
FreeMemory(*p)
EndIf
CloseServiceHandle_(hServ)
EndIf
CloseServiceHandle_(hSCManager)
EndIf
If hServ And lResult
ProcedureReturn #True
EndIf
ProcedureReturn #False
EndProcedure