Bienvenido y disfruta el nuevo diseño del sitio web.... agradecería me envíes tus comentarios acerca de los cambios realizados

Para descargar cualquier archivo es necesario estar registrado y hacer click en el titulo del archivo a descargar

Información del tiempo local

Visual Fox Pro, WMI Comentarios ( 0 ) »

Utilizando WMI para conocer el día, mes, año,
día del mes, número de semana en el mes, minutos, segundos.... etc.


objWMI = GetObject("winmgmts:\\")

cCadWMI = "Select * from Win32_LocalTime"

oTime = objWMI.ExecQuery(cCadWMI)



For Each oLocal in oTime

     ? "Día: " + Transform(oLocal.Day)

     ? "Día de la semana: " + Transform(oLocal.DayOfWeek)

     ? "Hora: " + Transform(oLocal.Hour)

     ? "Minutos: " + Transform(oLocal.Minute)

     ? "Mes: " + Transform(oLocal.Month)

     ? "Segunds: " + Transform(oLocal.Second)

     ? "Semana en el mes: " + Transform(oLocal.WeekInMonth)

     ? "Año: " + Transform(oLocal.Year)

Next

 


 


Por: David Amador T

Instalar un servicio en Windows

Visual Fox Pro, WMI Comentarios ( 0 ) »

Diria Yo que este es de los mejores trucos ....
utilizando WMI podemos instalar un servicio en Windows y especificarle todas sus
propiedades .... EXCELENTE. Un servicio es una aplicación que corre en
background cuando arranca Windows y el usuario no se percata de eso. Para
comprobar si el servicio se instala podemos ir a MIPC y hacemos click con el
botón derecho del mouse y seleccionamos "Administrar", luego en la parte
izquierda de la ventana seleccionamos "Servicios" y allí debe aparecer el
servicio que instalaremos.


Para probar el ejemplo debes copiar un archivo
exe a la carpeta system32 de Windows pero podría ser a cualquier carpeta, el
nombre del archivo para el ejemplo debe ser PD.EXE ..... podria renombrar el
NotePad y probar con el.


OWN_PROCESS = 16

NOT_INTERACTIVE = .F.

ControlError = 2 &&Normal

TipInicio = "Manual"

NomSer = "MiServicio"

NomMostrar = "Nombre para mostrar - MiServicio"

cRutaEXE = "c:\windows\system32\pd.exe"

cIniSesion = "NT AUTHORITY\LocalService"



objWMI = GetObject("winmgmts:\\")

objSer = objWMI.Get("Win32_BaseService")



errRet = objSer.Create(NomSer, NomMostrar, cRutaExe, OWN_PROCESS, ControlError,
TipInicio, NOT_INTERACTIVE, cIniSesion, "" )

? errRet

 


 



Por: David Amador T

Eliminar un servicio de Windows

Visual Fox Pro, WMI Comentarios ( 0 ) »

Utilizando WMI veremos como podemos eliminar un
servicio de Windos. Un servicio es una aplicación que corre en background cuando
arranca Windows y el usuario no se percata de eso. Un servicio es una aplicación
que corre en background cuando arranca Windows y el usuario no se percata de
eso. Para comprobar si el servicio se elimina podemos ir a MIPC y hacemos click
con el botón derecho del mouse y seleccionamos "Administrar", luego en la parte
izquierda de la ventana seleccionamos "Servicios" y allí aparecen los servicio
que tenemos instalador, por lo tanto DbService no debe aparecer. Si deseas poder
probar el ejemplo utiliza el ejemplo "Instalar un servicio" y luego lo eliminas
con este ejemplo. En este caso eliminaremos un servicio llamado 'DbService'.


objWMI = GetObject("winmgmts:\\")

cCadWMI = "Select * from Win32_Service Where Name = 'DbService'"

oServ = objWMI.ExecQuery(cCadWMI)





For Each miS in oServ

    miS.StopService()

    miS.Delete()

Next




 


 



Por: David Amador T

Conocer el estado de los servicios de Windows

Visual Fox Pro, WMI Comentarios ( 0 ) »

En muchas ocasiones queremos conocer si un
servicio se esta ejecutando... por ejemplo si MYSQL o SQL Server están
disponibles para conectarse a ellos. Utilizando WMI podemos conocer el estado de
los servicios instalados en Windows.


objWMI = GetObject("winmgmts:\\")

cCadWMI = "Select * from Win32_Service"

objSer = objWMI.ExecQuery(cCadWMI)



For Each oSys in objSer

     ? oSys.DisplayName + " " + oSys.State

Next


 



Por: David Amador T

Sistemas operativos instalados en el PC

Visual Fox Pro, WMI Comentarios ( 0 ) »

Esta es de las formas más sencilla de obtener
los sistemas operativos que están instalados en el PC.


objWMI = GetObject("winmgmts:\\")

cCadWMI = "Select * from Win32_OperatingSystem"

objOper = objWMI.ExecQuery(cCadWMI)



For Each oSys in objOper

    ? oSys.Caption + " " + oSys.Version

Next


 




 


 



Por: David Amador T

Eliminar una impresora

Visual Fox Pro, WMI Comentarios ( 0 ) »

Utilizando WMI desde VFP para eliminar una
impresora.


objWMI = GetObject("winmgmts:\\")

cCadWMI = "Select * from Win32_Printer Where DriverName = 'Canon S200'"

objImp = objWMI.ExecQuery(cCadWMI)



For Each objPrinter in objImp

           objPrinter.Delete()

Next


 



Por: David Amador T

Cancelar todos los trabajos en impresión

Visual Fox Pro, WMI Comentarios ( 0 ) »

Aquí tienes un ejemplo de como cancelar los
trabajos que se esten imprimiendo utilizando WMI.


objWMI = GetObject("winmgmts:\\")

cCadWMI = "Select * from Win32_Printer Where Name = 'Canon S200'"

objImp = objWMI.ExecQuery(cCadWMI)



For Each objPrinter in objImp

objPrinter.CancelAllJobs()

Next

 



Por: David Amador T

Establecer una impresora por defecto

Visual Fox Pro, WMI Comentarios ( 0 ) »

Otra forma de establecer la impresora por
defecto de Windows... esta vez utilizando WMI.


objWMI = GetObject("winmgmts:\\")

cCadWMI = "Select * from Win32_Printer Where Name = 'Canon S200'"

objImp = objWMI.ExecQuery(cCadWMI)



For Each objPrinter in objImp

         objPrinter.SetDefaultPrinter()

Next




Por: David Amador T

Cambiar el nombre a una impresora

Visual Fox Pro, WMI Comentarios ( 0 ) »

Utilizar WMI desde VFP para cambiarle el nombre
a una impresora.


objWMI = GetObject("winmgmts:\\")

cCadWMI = "Select * from Win32_Printer Where DeviceID = 'Canon S200'"

objImp = objWMI.ExecQuery(cCadWMI)



For Each objPrinter in objImp

        objPrinter.RenamePrinter("Otro
Nombre")

Next




Por: David Amador T

Conocer los servicios que están detenidos

Visual Fox Pro, WMI Comentarios ( 0 ) »

Excelente truco para conocer los servicios que
están detenidos...


objWMI = GetObject("winmgmts:\\")

cCadWMI = "Select * From Win32_Service Where State <> 'Running'"

objSer = objWMI.ExecQuery(cCadWMI)



For Each oSys in objSer

      ? oSys.DisplayName + " = " + oSys.State

Next




Por: David Amador T

Porcentaje de espacio libre en Unidades de disco

Visual Fox Pro, WMI Comentarios ( 0 ) »

Truquito bueno cuando deseas conocer el
porcentaje de espacio libre que te queda en las unidades de disco


objWMI = Getobject("winmgmts:\\")

cCadWMI = "Select * from Win32_PerfRawData_PerfDisk_LogicalDisk"

objDisk = objWMI.ExecQuery(cCadWMI)



For Each Disk In objDisk

    nBase = Disk.PercentFreeSpace_Base

    nRes = (100 * Disk.PercentFreeSpace) / nBase

    ? Transform(Round(nRes,2)) + "%"

Next


Podrías modificar el ejemplo y solo obtener el
porcentaje para el disco duro.. así:


objWMI = Getobject("winmgmts:\\")

cCadWMI = "Select * from Win32_PerfRawData_PerfDisk_LogicalDisk Where Name =
'C:' "

objDisk = objWMI.ExecQuery(cCadWMI)



For Each Disk In objDisk

    nBase = Disk.PercentFreeSpace_Base

    nRes = (100 * Disk.PercentFreeSpace) / nBase

    ? Transform(Round(nRes,2)) + "%"

Next


 




Por: David Amador T

Compartir una carpeta

Visual Fox Pro, WMI Comentarios ( 0 ) »

Otra forma de crear una carpeta compartida en
Windows...


FILE_SHARE = 0

nConMax = 25

cNomCompar = "Nombre_Carpeta"

&&Es el nombre que verán los usuarios de la red

cRuta = "C:\Directorio"

cComent = "Comentarios ...."



objWMI = GetObject("winmgmts:\\")

objNewShare = objWMI.Get("Win32_Share")



errRet = objNewShare.Create(cRuta, cNomCompar , FILE_SHARE, nConMax, cComent)



? errRet

 




Por: David Amador T

Información de unidades de disco del PC

Visual Fox Pro, WMI Comentarios ( 0 ) »

Utilizando WMI desde VFP para conocer la
información de unidades de disco del PC.


objWMI = Getobject("winmgmts:\\")

cCadWMI = "Select FreeSpace,Size,Name From Win32_LogicalDisk"

objDisk = objWMI.ExecQuery(cCadWMI)



For Each Disk In objDisk

     ? "Unidad: " + Disk.Name + " - Libre: " +
Transform(Disk.FreeSpace) + " Tamaño:" + Transform(Disk.Size)

Next




Por: David Amador T

Fecha de instalación del sistema operativo

Visual Fox Pro, WMI Comentarios ( 0 ) »

Utilizando WMI desde VFP para conocer la fecha
de instalación del sistema operativo.


objWMI = Getobject("winmgmts:\\")

cCadWMI = "Select * from Win32_OperatingSystem"

objOper = objWMI.ExecQuery(cCadWMI)



For Each oSys In objOper

    ? oSys.InstallDate

Next




Por: David Amador T

Verificar si existe un diskette en la unidad

Visual Fox Pro, WMI Comentarios ( 0 ) »

Otra forma de verificar si existe un diskette
en la unidad ... en este caso con WMI.




objWMI = Getobject("winmgmts:\\")

cCadWMI = "Select * From Win32_LogicalDisk Where DeviceID = 'A:'"

objOper = objWMI.ExecQuery(cCadWMI)



For Each oDisk in objOper

    nFree = oDisk.FreeSpace

   If IsNull(nFree) Then

         ? "No existe diskete en la
unidad"

   EndIf

Next




Por: David Amador T