Todo lo que quise saber de mi disco y no me atreví a preguntarlo

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.

MisDiscos

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

Comments

# re: Todo lo que quise saber de mi disco y no me atreví a preguntarlo

Tuesday, July 29, 2008 8:38 PM by Fran Díaz

Interesante Pep...muuuy interesante :D.

Un Abrazo crack!!

# re: Todo lo que quise saber de mi disco y no me atreví a preguntarlo

Wednesday, July 30, 2008 2:09 AM by peplluis

Fran!!

Que haria sin tus piropos... jajajaja.

Un abrazo al Krá de Huelva!

Leave a Comment

(required) 
(required) 
(optional)
(required)