Mi pregunta es la siguiente
@ComputerName = da el nombre de la compu
He buscado una macro que me de el modelo de la pc
haciendo un .Bat con el siguiente codigo lo logro pero quisiera saber si en autoit hay alguna manera
Esto contiene dentro el archivo.bat
wmic csproduct get name
pause
exit
Muchas gracias por la ayuda brindada
Ayuda con Macro (Porfa)
- Ximorro
- Profesional del Autoit
- Mensajes: 1500
- Registrado: 10 Jul 2009, 12:35
- Ubicación: Castellón, España
Re: Ayuda con Macro (Porfa)
Que yo sepa no hay macros para sacar esa información.
O la sacas de ese comando (que ahora me entero que existe) mandando el resultado a un archivo y leyéndolo desde AutoIt o por ejemplo lo puedes leer del registro, yo lo he encontrado aquí:
MsgBox(0, "Modelo", RegRead("HKLM\SOFTWARE\Microsoft\PCHealth\HelpSvc\OEMInfo", "Model"))
Pero otros datos que da wmic no los he visto, así que depende de lo que se busque se podrá utilizar el registro o tendrás que pasar por el shell...
O la sacas de ese comando (que ahora me entero que existe) mandando el resultado a un archivo y leyéndolo desde AutoIt o por ejemplo lo puedes leer del registro, yo lo he encontrado aquí:
MsgBox(0, "Modelo", RegRead("HKLM\SOFTWARE\Microsoft\PCHealth\HelpSvc\OEMInfo", "Model"))
Pero otros datos que da wmic no los he visto, así que depende de lo que se busque se podrá utilizar el registro o tendrás que pasar por el shell...
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
- melvinhn
- Hacker del Foro
- Mensajes: 75
- Registrado: 16 Jul 2011, 22:14
- Ubicación: Honduras, Cortes, Puerto Cortes, Col Miraflores
- Contactar:
Re: Ayuda con Macro (Porfa)
Pero en esa ruta no la he encontrado ya que no existe en el regedit
tambien en ejecutar te presenta esta opcion detallada
ejecutar>dxdiag
te da una informacion detallada de tu pc.
tambien en ejecutar te presenta esta opcion detallada
ejecutar>dxdiag
te da una informacion detallada de tu pc.
- melvinhn
- Hacker del Foro
- Mensajes: 75
- Registrado: 16 Jul 2011, 22:14
- Ubicación: Honduras, Cortes, Puerto Cortes, Col Miraflores
- Contactar:
Re: Ayuda con Macro (Porfa)
Bueno en alguna pc esta ruta no existe
MsgBox(0, "Modelo", RegRead("HKLM\SOFTWARE\Microsoft\PCHealth\HelpSvc\OEMInfo", "Model"))
MsgBox(0, "Modelo", RegRead("HKLM\SOFTWARE\Microsoft\PCHealth\HelpSvc\OEMInfo", "Model"))
- Ximorro
- Profesional del Autoit
- Mensajes: 1500
- Registrado: 10 Jul 2009, 12:35
- Ubicación: Castellón, España
Re: Ayuda con Macro (Porfa)
Hum, entonces no es un método seguro.
Pues mejor usa directamente wmic, veo en Microsoft Technet que está desde Windows XP, así que si no lo tienes que usar en cosas muy viejas te vale.
Tendrás que ejecutarlo desde AutoIt por ejemplo con RunWait y redireccionar el resultado a un archivo (otra alternativa es leer directamente la salida estándar del shell, pero es ligeramente más complicado).
Sería:
$salida = @TempDir & "\salida.txt"
RunWait(@ComSpec & " /c wmic csproduct get name > " & $salida, @TempDir, @SW_HIDE)
Así no hace falta un bat, se ve el shell, te busca cmd.exe (o command.com) él solito, escribe en el temporal...
Después sacas el dato del resultado y finalmente lo puedes borrar.
$modelo = FileReadLine($salida, 2) ;Parece que está en la segunda línea
FileDelete($salida)
Pues mejor usa directamente wmic, veo en Microsoft Technet que está desde Windows XP, así que si no lo tienes que usar en cosas muy viejas te vale.
Tendrás que ejecutarlo desde AutoIt por ejemplo con RunWait y redireccionar el resultado a un archivo (otra alternativa es leer directamente la salida estándar del shell, pero es ligeramente más complicado).
Sería:
$salida = @TempDir & "\salida.txt"
RunWait(@ComSpec & " /c wmic csproduct get name > " & $salida, @TempDir, @SW_HIDE)
Así no hace falta un bat, se ve el shell, te busca cmd.exe (o command.com) él solito, escribe en el temporal...
Después sacas el dato del resultado y finalmente lo puedes borrar.
$modelo = FileReadLine($salida, 2) ;Parece que está en la segunda línea
FileDelete($salida)
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
- Chefito
- Profesional del Autoit
- Mensajes: 2035
- Registrado: 21 Feb 2008, 18:42
- Ubicación: Albacete/Cuenca (España)
Obtener nombre del modelo del ordenador.
Mmmmm....seguro que hay una api de windows para esto, pero vete tu a saber cual es . Sería buscarla a ver si aparece algo .
Otra alternativa que me gusta, ya que no tienes que ejecutar un archivo externo, es utilizar WMI para sacar este datos, entre muchos muchos muchos más que puedes obtener :
Aahhhh, y por favor, especifica la próxima ver el Asunto del post mucho mejor que lo que has puesto. Mira mi asunto de este mensaje. Ayudará mucho más a las personas que busquen algo como esto.
Saludos.
Esta alternativa puede que guste más a causa de que no tienes que crear un archivo txt y luego trabajar con él. Mira en la ayuda las funciones run y StdoutRead, y sus ejemplos.Ximorro escribió:otra alternativa es leer directamente la salida estándar del shell, pero es ligeramente más complicado
Otra alternativa que me gusta, ya que no tienes que ejecutar un archivo externo, es utilizar WMI para sacar este datos, entre muchos muchos muchos más que puedes obtener :
Código: Seleccionar todo
$strComputer = "."
$objWMIService = ObjGet("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& $strComputer & "\root\cimv2")
$colComputerSystem = $objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For $objComputerSystem in $colComputerSystem
ConsoleWrite ("Modelo de ordenador: " & $objComputerSystem.Model & @CRLF)
Next
Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).