WMI Code creator (Quizá un poco fuera de tema)
WMI Code creator (Quizá un poco fuera de tema)
Hola
Quizá aquí es un poco fuera de tema, pero no se bien donde ponerlo, porque es un programa, pero no hecho con AutoIt, pero que puede ayudar a programar en este lenguaje.
Se trata de WMI Code creator. Es un programa, que acabo de encontrar, buscando una clase WMI por internet.
Podemos ver todas las clases del sistema, propiedades, etc. Y lo mejor, es que nos genera el código para usar la clase que queramos, hasta en tres lenguajes.
El pequeño inconveniente, está en que entre los lenguajes para los que genera el código, no está AutoIt (como cabía esperar). Los lenguajes son: C#, VB.net y VB Script, pero puede servir para adaptarlo rápidamente a AutoIt, si se conoce alguno de estos tres lenguajes.
Imagino, que sin conocer WMI, será un tanto complicado, pero almenos, puede facilitar el trabajo a quienes lo manejen bien, y trasteándolo puede aprednerse algo (aunque no sea la mejor manera jejeje).
http://www.sendspace.com/file/h8zjec
Espero que os sirva.
Salu2!
Quizá aquí es un poco fuera de tema, pero no se bien donde ponerlo, porque es un programa, pero no hecho con AutoIt, pero que puede ayudar a programar en este lenguaje.
Se trata de WMI Code creator. Es un programa, que acabo de encontrar, buscando una clase WMI por internet.
Podemos ver todas las clases del sistema, propiedades, etc. Y lo mejor, es que nos genera el código para usar la clase que queramos, hasta en tres lenguajes.
El pequeño inconveniente, está en que entre los lenguajes para los que genera el código, no está AutoIt (como cabía esperar). Los lenguajes son: C#, VB.net y VB Script, pero puede servir para adaptarlo rápidamente a AutoIt, si se conoce alguno de estos tres lenguajes.
Imagino, que sin conocer WMI, será un tanto complicado, pero almenos, puede facilitar el trabajo a quienes lo manejen bien, y trasteándolo puede aprednerse algo (aunque no sea la mejor manera jejeje).
http://www.sendspace.com/file/h8zjec
Espero que os sirva.
Salu2!
- Ximorro
- Profesional del Autoit
- Mensajes: 1500
- Registrado: 10 Jul 2009, 12:35
- Ubicación: Castellón, España
Re: WMI Code creator (Quizá un poco fuera de tema)
¡Pero si está muy bien!
¿Y cómo que no vale para AutoIT? ¡Vale a las mil maravillas!
(bueno, igual lo podríamos poner en el foro de chat, porque éste es para programas de AutoIT, pero desde luego es una ayuda interesante al programador de AutoIT, siendo que es un lenguaje muy asociado a Windows, y WMI es algo muy específico de Windows).
Como te comenté en la entrada correspondiente piensa que cuando consultas a WMI el lenguaje no tiene mucho que hacer, lo que tiene que hacer es proporcionarte acceso al objeto de consulta, que es de Windows, ni siquiera del lenguaje, después es ese objeto el que consulta a WMI con SQL, o sea que tampoco se hace en tu lenguaje de programación.
De hecho como tampoco sé WMI he consultado lo mismo que pusiste en la entrada de los USB, analizando la consulta que se hace allí he seleccionado como Namespace a root\CIMV2, como clase a Win32_SystemEnclosure, y como campos PartNumber, SerialNumber y SMBIOSAssetTag. Vaya, lo que he hecho es seleccionar lo mismo que usaba el programa de AutoIt.
Atención al código resultante que da el programa en VBScript y el de AutoIT que nos pusiste (lo copio debajo para compararlos fácilmente) ¡¡¡Son prácticamente idénticos!!! De hecho hasta llama igual a las variables, para mí que el código AutoIt está traducido de un generado por este programa, pero atención que la sintaxis de VBScript y AutoIt es para estas cuatro cosas ¡prácticamente la misma!. Así que se traduce pero que muy directamente (desde C# o VB.Net no es tan directo, pero tampoco es tan diferente si vas al meollo del código)
VBScript
AutoIt:
Si alguna vez me meto con WMI seguro que usaré este programa. ¡Muy buen hallazgo! ¡Gracias!
¿Y cómo que no vale para AutoIT? ¡Vale a las mil maravillas!
(bueno, igual lo podríamos poner en el foro de chat, porque éste es para programas de AutoIT, pero desde luego es una ayuda interesante al programador de AutoIT, siendo que es un lenguaje muy asociado a Windows, y WMI es algo muy específico de Windows).
Como te comenté en la entrada correspondiente piensa que cuando consultas a WMI el lenguaje no tiene mucho que hacer, lo que tiene que hacer es proporcionarte acceso al objeto de consulta, que es de Windows, ni siquiera del lenguaje, después es ese objeto el que consulta a WMI con SQL, o sea que tampoco se hace en tu lenguaje de programación.
De hecho como tampoco sé WMI he consultado lo mismo que pusiste en la entrada de los USB, analizando la consulta que se hace allí he seleccionado como Namespace a root\CIMV2, como clase a Win32_SystemEnclosure, y como campos PartNumber, SerialNumber y SMBIOSAssetTag. Vaya, lo que he hecho es seleccionar lo mismo que usaba el programa de AutoIt.
Atención al código resultante que da el programa en VBScript y el de AutoIT que nos pusiste (lo copio debajo para compararlos fácilmente) ¡¡¡Son prácticamente idénticos!!! De hecho hasta llama igual a las variables, para mí que el código AutoIt está traducido de un generado por este programa, pero atención que la sintaxis de VBScript y AutoIt es para estas cuatro cosas ¡prácticamente la misma!. Así que se traduce pero que muy directamente (desde C# o VB.Net no es tan directo, pero tampoco es tan diferente si vas al meollo del código)
VBScript
Código: Seleccionar todo
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_SystemEnclosure",,48)
For Each objItem in colItems
Wscript.Echo "-----------------------------------"
Wscript.Echo "Win32_SystemEnclosure instance"
Wscript.Echo "-----------------------------------"
Wscript.Echo "PartNumber: " & objItem.PartNumber
Wscript.Echo "SerialNumber: " & objItem.SerialNumber
Wscript.Echo "SMBIOSAssetTag: " & objItem.SMBIOSAssetTag
Next
Código: Seleccionar todo
$strComputer = "."
$objWMIService = ObjGet("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& $strComputer & "\root\cimv2")
$colSMBIOS = $objWMIService.ExecQuery _
("Select * from Win32_SystemEnclosure")
For $objSMBIOS in $colSMBIOS
ConsoleWrite ("Numero de parte: " & $objSMBIOS.PartNumber & @CRLF)
ConsoleWrite ("Numero de serie: " _
& $objSMBIOS.SerialNumber & @CRLF)
ConsoleWrite ("Placa de identificación: " & $objSMBIOS.SMBIOSAssetTag & @CRLF)
Next
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Re: WMI Code creator (Quizá un poco fuera de tema)
Hola
Quizá sí, en Chat estaría mejor puesto el post...
Me alegro que te haya gustado. Lo he encontrado buscando como recoger info del hardware usb (sigo con ello).
Lo que pasa, es que sin conocer WMI, no se me ocurre como usar esto (sin probar y probar), porque muchas clases y parámetros de estas, se puede imaginar que hacen por el nombre pero otros...
De todas formas, me parece un buen programa, que como dices, es de mucha ayuda a la hora de meterse a programar con esto.
Decía que era un pequeño inconveniente que no generara código para AutoIt, porque sería lo suyo, pero generando el código para VB.net (que es lo que más se parece a AutoIt) se puede ver bien como funciona el objeto.
Por cierto, me gusta eso de que pueda ejecutarse una clase directamente desde el programa, igual qe se haría desde la aplicación real, para ver como funciona.
Salu2!
Quizá sí, en Chat estaría mejor puesto el post...
Me alegro que te haya gustado. Lo he encontrado buscando como recoger info del hardware usb (sigo con ello).
Lo que pasa, es que sin conocer WMI, no se me ocurre como usar esto (sin probar y probar), porque muchas clases y parámetros de estas, se puede imaginar que hacen por el nombre pero otros...
De todas formas, me parece un buen programa, que como dices, es de mucha ayuda a la hora de meterse a programar con esto.
Decía que era un pequeño inconveniente que no generara código para AutoIt, porque sería lo suyo, pero generando el código para VB.net (que es lo que más se parece a AutoIt) se puede ver bien como funciona el objeto.
Por cierto, me gusta eso de que pueda ejecutarse una clase directamente desde el programa, igual qe se haría desde la aplicación real, para ver como funciona.
Salu2!
- Ximorro
- Profesional del Autoit
- Mensajes: 1500
- Registrado: 10 Jul 2009, 12:35
- Ubicación: Castellón, España
Re: WMI Code creator (Quizá un poco fuera de tema)
Yo diría que más que VB.Net se parece a VBScript, fíjate en los códigos que he puesto, son prácticamente iguales. Pero vaya, quizás sea cuestión de gustos, una vez tienes el objeto objWMIService lo demás siempre es prácticamente igual, pues se trata de usar los métodos de ese objeto para hacer las consultas.
Pues sí, ahora lo que tienes que hacer es aprender WMI, es un mundo...
Pues sí, ahora lo que tienes que hacer es aprender WMI, es un mundo...
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Re: WMI Code creator (Quizá un poco fuera de tema)
Y un mundo muy amplio, me parece...
Pues es verdad... VB script también se parece mucho.
Salu2!
Pues es verdad... VB script también se parece mucho.
Salu2!
Re: WMI Code creator (Quizá un poco fuera de tema)
Se ha suprimido el enlace de descarga,podrian resubirlo de nuevo por favor?
Saludos!
Saludos!
- Ximorro
- Profesional del Autoit
- Mensajes: 1500
- Registrado: 10 Jul 2009, 12:35
- Ubicación: Castellón, España
Re: WMI Code creator (Quizá un poco fuera de tema)
Te lo adjunto aquí:
- Adjuntos
-
- WMICodeCreator.rar
- (100.49 KiB) Descargado 319 veces
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)