Foros del Web » Programación para mayores de 30 ;) » .NET »

Saber información de mi Hardware utilizando VB.NET 2005

Estas en el tema de Saber información de mi Hardware utilizando VB.NET 2005 en el foro de .NET en Foros del Web. Estoy haciendo una aplicación que recoge el inventario en Hardware de una PC y necesito saber de que forma saber como sacar la siguiente información ...
  #1 (permalink)  
Antiguo 02/04/2007, 15:02
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Saber información de mi Hardware utilizando VB.NET 2005

Estoy haciendo una aplicación que recoge el inventario en Hardware de una PC y necesito saber de que forma saber como sacar la siguiente información desde el VB.NET 2005.

1) Espacio Total en Disco
2) Espacio Libre en Disco
3) Velocidad del CPU
4) Licencia de Windows
5) Saber si tiene o no CDROM
6) Cantidad de Discos Duros

Estuve revisando las clases Environment y VisualBasic.Devices.ComputerInfo. hasta el momento he obtenido mucha información útil, pero me faltan las que les listo más arriba.

¿Alguien sabe como obtener esa información desde el VB.NET 2005?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #2 (permalink)  
Antiguo 02/04/2007, 15:34
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Re: Saber información de mi Hardware utilizando VB.NET 2005

Ya encontré la forma de obtener la información de los discos duros y cdrom.

Les dejo el código por si les interesa:
Código:
    Public Function fn_SpacioEnDisco() As System.UInt64
        Dim diskClass As New System.Management.ManagementClass("Win32_LogicalDisk")
        Dim disks As System.Management.ManagementObjectCollection = diskClass.GetInstances()
        Dim disk As System.Management.ManagementObject
        Dim space As System.UInt64

        For Each disk In disks
            If disk("Description").ToString = "Local Fixed Disk" Then
                space += CType(disk("Size"), System.UInt64)
            End If
        Next disk

        Return space
    End Function
Para el espacio libre cambian disk("Size") por disk("FreeSpace").

Pero aún me faltan las siguientes:
1) Velocidad del CPU
2) Licencia de Windows

Alguien que me ayude...
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #3 (permalink)  
Antiguo 18/05/2007, 09:11
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Re: Saber información de mi Hardware utilizando VB.NET 2005

Aún estoy buscando:
1) Velocidad del CPU (Procesador)
2) Licencia de Windows

Estuve buscando en todas las GetEnvironmentVariables de la clase Environment y no hay nada que sea referente a la velocidad del procesador.

¿Alguién me puede dar una mano?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #4 (permalink)  
Antiguo 05/06/2008, 12:39
 
Fecha de Ingreso: marzo-2008
Mensajes: 37
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Saber información de mi Hardware utilizando VB.NET 2005

brother sabes como hacer para capturar los datos del procesador su nombre y su frecuencia y velocidad? podrias poner como hiciste para capturar los otros datos
  #5 (permalink)  
Antiguo 05/06/2008, 13:07
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Respuesta: Saber información de mi Hardware utilizando VB.NET 2005

No tengo todo lo que pides, pero hay ten van algunos Tips!

TipoProcesador = Environment.GetEnvironmentVariable("PROCESSOR_IDENTIFIER").ToString
CantProcesadores = CShort(Environment.ProcessorCount)
NombrePC = Environment.MachineName

Función para saber la dirección IP:
Código:
 
Private Function fn_DireccionIP(ByVal strNombrePC As String) As String
'Dim h As System.Net.IPHostEntry = System.Net.Dns.GetHostEntry(strNombrePC)
'Return CType(h.AddressList.GetValue(0), Net.IPAddress).ToString
'La siguiente rutina escribe todas las IPs del PC (puede tener más de una). 
'Requiere poner en el proyecto una Referencia a System.Management, y hacer un 
'Imports System.Management. Contiene dos bucles anidados: el primero recorre 
'todas las tarjetas de red del PC, y el segundo enumera, por cada tarjeta, 
'todas las direcciones de esa tarjeta. 
Dim query As New System.Management.ManagementObjectSearcher("SELECT * FROM WIN32_NetworkAdapterConfiguration WHERE IPEnabled = 'TRUE'")
Dim queryCollection As System.Management.ManagementObjectCollection = query.Get()
Dim mo As New System.Management.ManagementObject
Dim strIPAddress As String = ""
For Each mo In queryCollection
Dim strAddresses() As String = CType(mo("IPAddress"), String())
For Each strIPAddress In strAddresses
Exit For
Next
If strIPAddress <> "" Then Exit For
Next
'--Liberando Memoria--
query.Dispose() : query = Nothing
queryCollection.Dispose() : queryCollection = Nothing
mo.Dispose() : mo = Nothing
'---------------------
Return strIPAddress
Usuario = My.User.Name.ToUpper



VersionOS = Environment.OSVersion.VersionString
VersionSPWin = Environment.OSVersion.ServicePack

Función para saber el espacio Libre en Disco:
Código:
PrivateFunction fn_SpacioLibreEnDisco() As System.UInt64
Dim diskClass AsNew System.Management.ManagementClass("Win32_LogicalDisk")
Dim disks As System.Management.ManagementObjectCollection = diskClass.GetInstances()
Dim disk As System.Management.ManagementObject
Dim space As System.UInt64 = 0
ForEach disk In disks
If disk("Description").ToString = "Local Fixed Disk"Then
space += CType(disk("FreeSpace"), System.UInt64)
EndIf
Next disk
Return space
EndFunction
 
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #6 (permalink)  
Antiguo 05/06/2008, 13:10
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Respuesta: Saber información de mi Hardware utilizando VB.NET 2005

Aquí te va una clase que tiene muchas cosas más:

PublicClass clsSystemInformation
#Region"Variables"
Private _strComputerName AsString
Private _strManufacturer AsString
Private _StrModel AsString
Private _strOSName AsString
Private _strOSVersion AsString
Private _strSystemType AsString
Private _strTPM AsString
Private _strWindowsDir AsString
Private _decVelocidadProcesador AsDecimal
#EndRegion
#Region"Propiedades"
PublicReadOnlyProperty pr_ComputerName() AsString
Get
pr_ComputerName = _strComputerName
EndGet
EndProperty
PublicReadOnlyProperty pr_Manufacturer() AsString
Get
pr_Manufacturer = _strManufacturer
EndGet
EndProperty
PublicReadOnlyProperty pr_Model() AsString
Get
pr_Model = _StrModel
EndGet
EndProperty
PublicReadOnlyProperty pr_OsName() AsString
Get
pr_OsName = _strOSName
EndGet
EndProperty
PublicReadOnlyProperty pr_OSVersion() AsString
Get
pr_OSVersion = _strOSVersion
EndGet
EndProperty
PublicReadOnlyProperty pr_SystemType() AsString
Get
pr_SystemType = _strSystemType
EndGet
EndProperty
PublicReadOnlyProperty pr_TotalPhysicalMemory() AsString
Get
pr_TotalPhysicalMemory = _strTPM
EndGet
EndProperty
PublicReadOnlyProperty pr_WindowsDirectory() AsString
Get
pr_WindowsDirectory = _strWindowsDir
EndGet
EndProperty
PublicReadOnlyProperty pr_VelocidadProcesador() AsDecimal
Get
Return _decVelocidadProcesador
EndGet
EndProperty
#EndRegion
#Region"Constructor"
PublicSubNew()
Dim objMgmt AsNew Management.ManagementObject
Dim objMOS AsNew Management.ManagementObjectSearcher
objMOS = New Management.ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem")
ForEach objMgmt In objMOS.Get
_strOSName = objMgmt("name").ToString.Trim
_strOSVersion = objMgmt("version").ToString.Trim
_strComputerName = objMgmt("csname").ToString.Trim
_strWindowsDir = objMgmt("windowsdirectory").ToString.Trim
Next
objMOS = New Management.ManagementObjectSearcher("SELECT * FROM Win32_ComputerSystem")
ForEach objMgmt In objMOS.Get
_strManufacturer = objMgmt("manufacturer").ToString.Trim
_StrModel = objMgmt("model").ToString.Trim
_strSystemType = objMgmt("systemtype").ToString.Trim
_strTPM = objMgmt("totalphysicalmemory").ToString.Trim
Next
objMOS = New Management.ManagementObjectSearcher("SELECT * FROM Win32_Processor")
ForEach objMgmt In objMOS.Get
_decVelocidadProcesador = CDec(objMgmt("CurrentClockSpeed").ToString.Trim)
Next
objMOS.Dispose() : objMOS = Nothing
objMgmt.Dispose() : objMgmt = Nothing
EndSub
#EndRegion
EndClass
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #7 (permalink)  
Antiguo 23/11/2009, 18:13
 
Fecha de Ingreso: abril-2009
Mensajes: 160
Antigüedad: 15 años
Puntos: 3
Respuesta: Re: Saber información de mi Hardware utilizando VB.NET 2005

Cita:
Iniciado por RsOfT Ver Mensaje
Ya encontré la forma de obtener la información de los discos duros y cdrom.

Les dejo el código por si les interesa:
Código:
    Public Function fn_SpacioEnDisco() As System.UInt64
        Dim diskClass As New System.Management.ManagementClass("Win32_LogicalDisk")
        Dim disks As System.Management.ManagementObjectCollection = diskClass.GetInstances()
        Dim disk As System.Management.ManagementObject
        Dim space As System.UInt64

        For Each disk In disks
            If disk("Description").ToString = "Local Fixed Disk" Then
                space += CType(disk("Size"), System.UInt64)
            End If
        Next disk

        Return space
    End Function
Para el espacio libre cambian disk("Size") por disk("FreeSpace").

Pero aún me faltan las siguientes:
1) Velocidad del CPU
2) Licencia de Windows

Alguien que me ayude...


Qué espacios de nombres usas, en vb2008 con framework 3.0 me da un monton de errores
  #8 (permalink)  
Antiguo 23/11/2009, 18:18
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Saber información de mi Hardware utilizando VB.NET 2005

Hiciste el Add Reference de System.Management dentro del tab .NET
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #9 (permalink)  
Antiguo 29/01/2011, 09:33
 
Fecha de Ingreso: septiembre-2009
Mensajes: 33
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: Saber información de mi Hardware utilizando VB.NET 2005

También pueden intentarlo con esta DLL

http://www.aimbox.cl/main/informacion-de-sistema-net/

nos cuentas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:44.