Obtener IP, Memoria, Mac Address, etc.
Publicado por Walter Waghorn (6 intervenciones) el 04/07/2007 15:04:25
Hola a todos,
Quisiera saber como puedo obtener datos de un COMPUTADOR, como por ejemplo:
IP, Cantidad de memoria, Procesador, Sistema Operativo, Capacidad de Disco Duro, etc.
Algo así como el "AIDA32". En VISUAL BASIC .NET.
Gracias
ALGUIEN ME PUEDE AYUDAR CON ESTE CÓDIGO QUE ME ARROJA ERRORES.
ME LO PODRIAN ENVIAR CON EL CODIGO DESARROLLADO, GRACIAS
[email protected]
'Este ejemplo obtiene la información a traves de WMI
'Windows Management Object.
'Debes agregar la referencia a System.Managemet
'Para este ejemplo necesitas un listbox llamado lstInfo y un combobox llamado cboInfo
Imports System.Net
Imports System.Management
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
cboInfo.Items.Add("Hard disk")
cboInfo.Items.Add("Network")
cboInfo.Items.Add("Procesador")
cboInfo.Items.Add("Sistema Operativo")
End Sub
Sub InformacionPC(ByVal GetObjetoInfo As String, ByVal Objeto As String)
Dim WMIQuery As WqlObjectQuery
Dim properties As PropertyDataCollection
Dim searcher As ManagementObjectSearcher
Dim lista() As Object
lstInfo.Items.Add("")
lstInfo.Items.Add("Información de :" & Objeto)
lstInfo.Items.Add("")
lstInfo.Items.Add("")
Select Case GetObjetoInfo
Case "Sistema Operativo"
WMIQuery = New WqlObjectQuery("SELECT * FROM Win32_OperatingSystem")
Case "Network"
WMIQuery = New WqlObjectQuery("Select * From Win32_NetworkAdapter " _
& "Where NetConnectionID = " & _
"'Wifi'")
Dim hostname As String = Dns.GetHostName()
Dim hostentry As IPHostEntry = Dns.GetHostByName(hostname)
For Each ipaddress As IPAddress In hostentry.AddressList
lstInfo.Items.Add("IPAddress: " & ipaddress.ToString)
Next
Case "Procesador"
WMIQuery = New WqlObjectQuery("SELECT * FROM Win32_Processor")
Case "Hard disk"
WMIQuery = New WqlObjectQuery("SELECT * FROM Win32_DiskDrive")
End Select
searcher = New ManagementObjectSearcher(WMIQuery)
For Each SisInfo As ManagementObject In searcher.Get()
properties = SisInfo.Properties
For Each p As PropertyData In properties
If p.IsArray Then
If p.GetType Is GetType(System.String()) Then
lista = p.Value
lstInfo.Items.Add(p.Name & ": " & lista.GetValue(0))
End If
Else
If Not String.IsNullOrEmpty(p.Value) Then
lstInfo.Items.Add(p.Name & ": " & p.Value.ToString)
Else
Me.lstInfo.Items.Add(p.Name & ": " & "-----")
End If
End If
Next
lstInfo.Items.Add("")
lstInfo.Items.Add("")
Next
End Sub
Private Sub cboInfo_SelectionChangeCommitted(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboInfo.SelectionChangeCommitted
Me.lstInfo.Items.Clear()
Select Case Me.cboInfo.SelectedIndex
Case 0
InformacionPC("Hard disk", cboInfo.SelectedItem.ToString)
Case 1
InformacionPC("Network", cboInfo.SelectedItem.ToString)
Case 2
InformacionPC("Procesador", cboInfo.SelectedItem.ToString)
Case 3
InformacionPC("Sistema Operativo", cboInfo.SelectedItem.ToString)
End Select
End Sub
End Class
Quisiera saber como puedo obtener datos de un COMPUTADOR, como por ejemplo:
IP, Cantidad de memoria, Procesador, Sistema Operativo, Capacidad de Disco Duro, etc.
Algo así como el "AIDA32". En VISUAL BASIC .NET.
Gracias
ALGUIEN ME PUEDE AYUDAR CON ESTE CÓDIGO QUE ME ARROJA ERRORES.
ME LO PODRIAN ENVIAR CON EL CODIGO DESARROLLADO, GRACIAS
[email protected]
'Este ejemplo obtiene la información a traves de WMI
'Windows Management Object.
'Debes agregar la referencia a System.Managemet
'Para este ejemplo necesitas un listbox llamado lstInfo y un combobox llamado cboInfo
Imports System.Net
Imports System.Management
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
cboInfo.Items.Add("Hard disk")
cboInfo.Items.Add("Network")
cboInfo.Items.Add("Procesador")
cboInfo.Items.Add("Sistema Operativo")
End Sub
Sub InformacionPC(ByVal GetObjetoInfo As String, ByVal Objeto As String)
Dim WMIQuery As WqlObjectQuery
Dim properties As PropertyDataCollection
Dim searcher As ManagementObjectSearcher
Dim lista() As Object
lstInfo.Items.Add("")
lstInfo.Items.Add("Información de :" & Objeto)
lstInfo.Items.Add("")
lstInfo.Items.Add("")
Select Case GetObjetoInfo
Case "Sistema Operativo"
WMIQuery = New WqlObjectQuery("SELECT * FROM Win32_OperatingSystem")
Case "Network"
WMIQuery = New WqlObjectQuery("Select * From Win32_NetworkAdapter " _
& "Where NetConnectionID = " & _
"'Wifi'")
Dim hostname As String = Dns.GetHostName()
Dim hostentry As IPHostEntry = Dns.GetHostByName(hostname)
For Each ipaddress As IPAddress In hostentry.AddressList
lstInfo.Items.Add("IPAddress: " & ipaddress.ToString)
Next
Case "Procesador"
WMIQuery = New WqlObjectQuery("SELECT * FROM Win32_Processor")
Case "Hard disk"
WMIQuery = New WqlObjectQuery("SELECT * FROM Win32_DiskDrive")
End Select
searcher = New ManagementObjectSearcher(WMIQuery)
For Each SisInfo As ManagementObject In searcher.Get()
properties = SisInfo.Properties
For Each p As PropertyData In properties
If p.IsArray Then
If p.GetType Is GetType(System.String()) Then
lista = p.Value
lstInfo.Items.Add(p.Name & ": " & lista.GetValue(0))
End If
Else
If Not String.IsNullOrEmpty(p.Value) Then
lstInfo.Items.Add(p.Name & ": " & p.Value.ToString)
Else
Me.lstInfo.Items.Add(p.Name & ": " & "-----")
End If
End If
Next
lstInfo.Items.Add("")
lstInfo.Items.Add("")
Next
End Sub
Private Sub cboInfo_SelectionChangeCommitted(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboInfo.SelectionChangeCommitted
Me.lstInfo.Items.Clear()
Select Case Me.cboInfo.SelectedIndex
Case 0
InformacionPC("Hard disk", cboInfo.SelectedItem.ToString)
Case 1
InformacionPC("Network", cboInfo.SelectedItem.ToString)
Case 2
InformacionPC("Procesador", cboInfo.SelectedItem.ToString)
Case 3
InformacionPC("Sistema Operativo", cboInfo.SelectedItem.ToString)
End Select
End Sub
End Class
Valora esta pregunta


0