Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Global $STANDARD_RIGHTS = 0x000F0000
- Global $SCMAN_ALL_ACCESS = BitOR( $STANDARD_RIGHTS, 0x0000003F )
- Global Const $SCMAN_CONNECT = 0x00000001, _
- $SCMAN_CREATE_SERVICE = 0x00000002, _
- $SCMAN_ENUMERATE_SERVICE = 0x00000004, _
- $SCMAN_LOCK = 0x00000008, _
- $SCMAN_QUERY_LOCK_STATUS = 0x00000010, _
- $SCMAN_MODIFY_BOOT_CONFIG = 0x00000020
- Global $SVC_ALL_ACCESS = BitOR( $STANDARD_RIGHTS, 0x000001FF )
- Global Const $SVC_QUERY_CONFIG = 0x00000001, _
- $SVC_CHANGE_CONFIG = 0x00000002, _
- $SVC_QUERY_STATUS = 0x00000004, _
- $SVC_ENUMERATE_DEPENDENTS = 0x00000008, _
- $SVC_START = 0x00000010, _
- $SVC_STOP = 0x00000020, _
- $SVC_PAUSE_CONTINUE = 0x00000040, _
- $SVC_INTERROGATE = 0x00000080, _
- $SVC_USER_DEFINED_CONTROL = 0x00000100
- Global Const $SVC_CONTROL_STOP = 0x00000001, _
- $SVC_CONTROL_PAUSE = 0x00000002, _
- $SVC_CONTROL_INTERROGATE = 0x00000004
- Global Const $SVC_KERNEL_DRIVER = 0x00000001, _
- $SVC_FILE_SYSTEM_DRIVER = 0x00000002, _
- $SVC_ADAPTER = 0x00000004, _
- $SVC_RECOGNIZER_DRIVER = 0x00000008, _
- $SVC_WIN32_OWN_PROCESS = 0x00000010, _
- $SVC_WIN32_SHARE_PROCESS = 0x00000020, _
- $SVC_INTERACTIVE_PROCESS = 0x100
- Global Enum $SVC_BOOT_START, _
- $SVC_SYSTEM_START, _
- $SVC_AUTO_START, _
- $SVC_DEMAND_START, _
- $SVC_DISABLED
- Global Enum $SVC_ERROR_IGNORE, _
- $SVC_ERROR_NORMAL, _
- $SVC_ERROR_SEVERE, _
- $SVC_ERROR_CRITICAL
- ;===============================================================================
- ; Description: Starts a service on a computer
- ;===============================================================================
- Func _StartService($hService)
- Local $vRet = DllCall("advapi32.dll", "int", "StartService", "handle", $hService, "long", 0, "str", "")
- If Not IsArray( $vRet ) Or Not $vRet[0] Then _
- $vRet = _GetServiceError()
- Return $vRet[0]
- EndFunc
- ;===============================================================================
- ; Description: Stops a service on a computer
- ;===============================================================================
- Func _StopService($hService)
- Local $vRet = DllCall("advapi32.dll", "int", "ControlService", "handle", $hService, "long", $SVC_CONTROL_STOP, "str", "")
- If Not IsArray( $vRet ) Or Not $vRet[0] Then _
- $vRet = _GetServiceError()
- Return $vRet[0]
- EndFunc
- ;===============================================================================
- ; Description: Checks if a service is running on a computer
- ;===============================================================================
- Func _ServiceRunning($hService)
- Local $vRet = DllCall("advapi32.dll", "int", "ControlService", "handle", $hService, "long", $SVC_CONTROL_INTERROGATE, "str", "")
- If Not IsArray( $vRet ) Then _
- $vRet = Null
- Return $vRet[0]
- EndFunc
- ;===============================================================================
- ; Description: Deletes a service on a computer
- ;===============================================================================
- Func _DeleteService($hService)
- Local $vRet = DllCall("advapi32.dll", "int", "DeleteService", "handle", $hService)
- If Not IsArray( $vRet ) Or Not $vRet[0] Then _
- $vRet = _GetServiceError()
- Return $vRet[0]
- EndFunc
- ;===============================================================================
- ; Description: Creates a service on a computer
- ;===============================================================================
- Func _CreateService($hSCMan, $sServiceName, $sDisplayName, $iDesiredAccess, $iType, $iStartType, $iErrorControl, $sPath)
- Local $vRet = DllCall("advapi32.dll", "handle", "CreateService", "handle", $hSCMan, "str", $sServiceName, "str", $sDisplayName, "dword", $iDesiredAccess, _
- "dword", $iType, "dword", $iStartType, "dword", $iErrorControl, "str", $sPath, "ptr", 0, "ptr", 0, "ptr", 0, "ptr", 0, "ptr", 0 )
- If Not IsArray( $vRet ) Or Not $vRet[0] Then _
- $vRet = _GetServiceError()
- Return $vRet[0]
- EndFunc
- Func _OpenSCManager($sComputerName, $iDesiredAccess)
- Local $vRet = DllCall( "advapi32.dll", "handle", "OpenSCManager", "str", $sComputerName, "str", "ServicesActive", "dword", $iDesiredAccess )
- If IsArray( $vRet ) Then _
- Return $vRet[0]
- Return Null
- EndFunc ;==> OpenSCManager
- Func _OpenService($hSCMan, $sServiceName, $iDesiredAccess)
- Local $vRet = DllCall( "advapi32.dll", "handle", "OpenService", "handle", $hSCMan, "str", $sServiceName, "dword", $iDesiredAccess )
- If IsArray( $vRet ) Then _
- Return $vRet[0]
- Return Null
- EndFunc ;==> OpenService
- Func _CloseServiceHandle($hSCObject)
- Local $vRet = DllCall( "advapi32.dll", "int", "CloseServiceHandle", "handle", $hSCObject )
- If IsArray( $vRet ) Then _
- Return $vRet[0]
- Return Null
- EndFunc ;==> CloseServiceHandle
- Func _GetServiceError($iType=0)
- Local $aRet = DllCall("kernel32.dll", "long", "GetLastError")
- $aRet[0] *= -1
- If $iType Then $aRet = $aRet[0]
- Return $aRet
- EndFunc
- Func _IsServiceFail($vRet)
- Return ( IsInt( $vRet ) And ( $vRet < 0 ) )
- EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement