Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   .NET (http://www.forosdelweb.com/f29/)
-   -   Saber información de mi Hardware utilizando VB.NET 2005 (http://www.forosdelweb.com/f29/saber-informacion-mi-hardware-utilizando-vb-net-2005-a-478256/)

RsOfT 02/04/2007 15:02

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? :pensando:

RsOfT 02/04/2007 15:34

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... :pensando:

RsOfT 18/05/2007 09:11

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? :pensando:

HalleyR 05/06/2008 12:39

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

RsOfT 05/06/2008 13:07

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 05/06/2008 13:10

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

javi37 23/11/2009 18:13

Respuesta: Re: Saber información de mi Hardware utilizando VB.NET 2005
 
Cita:

Iniciado por RsOfT (Mensaje 1953583)
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... :pensando:



Qué espacios de nombres usas, en vb2008 con framework 3.0 me da un monton de errores

Peterpay 23/11/2009 18:18

Respuesta: Saber información de mi Hardware utilizando VB.NET 2005
 
Hiciste el Add Reference de System.Management dentro del tab .NET

xMarioHx 29/01/2011 09:33

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.


La zona horaria es GMT -6. Ahora son las 08:09.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.