Re: WinAPI Library (Snippets) (653)
Verfasst: 16.09.2011 03:40
Da bei mir die beiden Funktionen (Dienst Pausieren und Dienst beenden) unbesehen mit IMA
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 ...
und
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