Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Code to tell if service is running
Message
 
À
12/06/2007 13:34:52
Jay Johengen
Altamahaw-Ossipee, Caroline du Nord, États-Unis
Information générale
Forum:
Visual FoxPro
Catégorie:
Fonctions Windows API
Divers
Thread ID:
01232347
Message ID:
01232389
Vues:
25
The code below uses WMI Win32Service object:
LOCAL MSSQL As Win32Service
MSSQL = CREATEOBJECT("Win32Service", "MSSQLSERVER")

IF MSSQL.GetWmiObject() = NULL
* the service is not found
	RETURN
ENDIF

? "The service is running:", MSSQL.IsStarted()
* end of main

DEFINE CLASS Win32Service As Session
PROTECTED wmiserver, servicename, service
	servicename=""
	service=NULL

PROCEDURE Init(cServiceName)
	THIS.servicename = m.cServiceName
	THIS.wmiserver = GetObject("winmgmts:\\" +;
		"." + "\root\cimv2")
	THIS.InterrogateService

PROCEDURE InterrogateService
	LOCAL oCollection, oMember

	oCollection = THIS.wmiserver.ExecQuery(;
			"SELECT * FROM Win32_Service " +;
			"WHERE name='" + THIS.servicename + "'")

	FOR EACH oMember IN oCollection
		THIS.service = oMember
	NEXT

PROCEDURE GetWmiObject
RETURN THIS.service

PROCEDURE StartService
RETURN THIS.service.StartService()

PROCEDURE StopService
RETURN THIS.service.StopService()

PROCEDURE PauseService
RETURN THIS.service.PauseService()

PROCEDURE ResumeService
RETURN THIS.service.ResumeService()

PROCEDURE GetServiceName
RETURN THIS.servicename

PROCEDURE GetProperty(cProperty, oDefault)
	LOCAL oValue
	TRY
		oValue = EVALUATE("THIS.service." + cProperty)
	CATCH
		oValue = m.oDefault
	ENDTRY
RETURN NVL(m.oValue, m.oDefault)

PROCEDURE GetCaption
RETURN THIS.GetProperty("Caption","")

PROCEDURE GetDescription
RETURN THIS.GetProperty("Description","")

PROCEDURE GetServiceType
RETURN THIS.GetProperty("ServiceType","")

PROCEDURE IsStarted
RETURN THIS.GetProperty("Started",.F.)

PROCEDURE GetStartMode
RETURN THIS.GetProperty("StartMode","")

PROCEDURE GetStartName
RETURN THIS.GetProperty("StartName","")

PROCEDURE GetServiceState
RETURN THIS.GetProperty("State","")

PROCEDURE GetServiceStatus
RETURN THIS.GetProperty("Status","")

PROCEDURE GetPathName
RETURN THIS.GetProperty("PathName","")

ENDDEFINE
Original link:
http://www.news2news.com/vfp/?example=476&ver=wmi
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform