Tal como os tengo acostumbrados, con el trasfondo de preguntas que se repiten y repiten, os facilito un ejemplo de cómo rastrear toda la información de nuestro disco “lógico” utilizando el conocido “System.Management” del ‘Framework 2.0’.
En el siguiente ejemplo rellenamos un “DomainUpDown” con los nombres de las características de nuestro disco, a continuación rellenamos un ‘label’ con la descripción de la característica cada vez que el “DUD” cambia de indice… sencillo, verdad? Utilizando este método podremos acceder a las propiedades disponibles sin tener que buscar sus nombres de antemano. A pesar de que os anticipo que a menudo muchos de nosotros intentamos obtener información o características que no están disponibles para ese “disco” o bien no existen!. No olvidéis que la información es la de WIN32_DiskDrive.

Para los mas profundos en búsqueda de información mas “Fisica” podeis cambiar la “query” por la de Win32_PhysicalMedia.
Private MisDiscos As New ManagementObjectSearcher(«SELECT * FROM Win32_PhysicalMedia»)
Espero vuestras conversaciones J
Cuidaros,
Pep Lluis,
Imports System.Management
Public Class Form1
‘
‘Obtener toda la informacion de mis discos (Logicos)
Private MisDiscos As New ManagementObjectSearcher(«SELECT * FROM Win32_DiskDrive»)
‘Almacen del valor de las caracteristicas segun propiedad
Private DiscInfo As New ManagementObject
Private Sub Form1_Load(…..) Handles MyBase.Load
Dim MiInfo = From Hd As ManagementObject In MisDiscos.Get Select Hd
‘Seleccionar la info del disco(0)
‘O bien proporcionar un combo para su seleccion
DiscInfo = MiInfo(0)
‘Obtener el nombre de la propiedad
‘Rellenar el DUD con los nombres
Me.DomainUpDown1.Items.AddRange( _
( _
From Pn As Management.PropertyData _
In DiscInfo.Properties _
Select Pn.Name _
).ToArray)
‘Por defecto seleccionar el primer indice
Me.DomainUpDown1.SelectedIndex = 1
End Sub
‘
‘ Al cambiar el indice del item seleccionado…
‘
Private Sub DomainUpDown1_SelectedItemChanged(…) _
Handles DomainUpDown1.SelectedItemChanged
Try
‘obtener la descripcion de la propiedad
Descripcion.Text = DiscInfo.Properties(Me.DomainUpDown1.Text).Value
Catch ex As Exception
‘en caso de error…
Descripcion.Text = «¿?»
End Try
End Sub
End Class