WMI y Visual FoxPro 9.0 SP1
WMI nos ofrece una serie de funciones sobre el equipo que nos permiten extraer información como números de series de dispositivos USB, CD-Room, Mainboard y tipo de chasis, sobre estos dos últimos trataremos en este artículo.
El dinamismo que nos permite VFP9 y la íntima relación con el sistema operativo describiremos el código que nos permite extraer el número de serie del mainboard y el tipo de chasis en que nuestro sistema se encuentra operando.
* activamos el programa para crear una clase que contiene la descripción del chasis * SET PROCEDURE TO serial CLEAR * nombre equipo o servidor strComputer = "." * creamos el objeto con la referencia . que nos indica que es el equipo local objWMIService = GETOBJECT("winmgmts:{impersonationLevel=impersonate}!\\" + strComputer + "\root\cimv2") * extraemos la consulta de la raiz que nos permite ver las propiedades a un objeto colSMBIOS = objWMIService.ExecQuery ("Select * from Win32_SystemEnclosure") * recorremos el objeto para extraer el número de serie y el número de parte FOR EACH objSMBIOS IN colSMBIOS ? "Número de parte: " + objSMBIOS.PartNumber ? "Número de serie: " + objSMBIOS.SerialNumber NEXT * recorremos el objeto para extraer el número de tipo * de chasis y llamamos a la clase que los contiene FOR EACH objChassis IN colSMBIOS FOR EACH objItem IN objChassis.ChassisTypes o_chasis=CREATEOBJECT("c_chasis") ? "El chasis es: "+o_chasis.chasis(objitem) NEXT NEXT * definición de la clase que nos permite validar el # del tipo de chases DEFINE CLASS c_chasis AS CUSTOM PROCEDURE chasis(n_chasis) DO CASE CASE n_chasis=1 RETURN "Other" CASE n_chasis=2 RETURN "Unknown " CASE n_chasis=3 RETURN " Desktop " CASE n_chasis=4 RETURN " Low Profile Desktop " CASE n_chasis=5 RETURN " Pizza Box " CASE n_chasis=6 RETURN " Mini Tower " CASE n_chasis=7 RETURN " Tower " CASE n_chasis=8 RETURN " Portable" CASE n_chasis=9 RETURN " Laptop " CASE n_chasis=10 RETURN " Notebook " CASE n_chasis=11 RETURN " Hand Held " CASE n_chasis=12 RETURN " Docking Station " CASE n_chasis=13 RETURN " All in One " CASE n_chasis=14 RETURN " Sub Notebook " CASE n_chasis=15 RETURN " Space-Saving" CASE n_chasis=16 RETURN " Lunch Box " CASE n_chasis=17 RETURN " Main System Chassis" CASE n_chasis=18 RETURN " Expansion Chassis " CASE n_chasis=19 RETURN " SubChassis " CASE n_chasis=20 RETURN " Bus Expansion Chassis " CASE n_chasis=21 RETURN " Peripheral Chassis " CASE n_chasis=22 RETURN " Storage Chassis " CASE n_chasis=23 RETURN " Rack Mount Chassis " CASE n_chasis=24 RETURN " Sealed-Case PC " ENDCASE ENDDEFINE
Franklin S. Garzón A. (Ecuador)
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.