none
Obtener a que unidad pertenece el disco duro ManagementObject RRS feed

  • Pregunta

  • Hola estoy desarrollando una aplicación en vb.net y estoy buscando el modelo y numero del seria mediante la clase

    ManagementObjectSearcher

      Dim searcher As New ManagementObjectSearcher( _
                    "root\CIMV2", _
                    "SELECT * FROM Win32_DiskDrive") ' WHERE Model LIKE '%" + model + "%'")
                For Each queryObj As ManagementObject In searcher.Get()
                    If queryObj("SerialNumber") <> "" Then
                        numSerieHDD = queryObj("SerialNumber")
                        model = queryObj("Model")

                    End If

    esto funciona perfecto pero lo quiero es saber es,  en que unidad(c:,e:,d: etc) se encuentra el disco que estoy obteniendo la información con la finalidad de saber si en ese disco duro se encuentra el sistema operativo

    gracias 

    lunes, 30 de junio de 2014 15:23

Respuestas

  • "Nicolas Bringa" escribió:

    > pero lo quiero es saber es,  en que unidad(c:,e:,d: etc) se encuentra
    > el disco que estoy obteniendo la información con la finalidad de saber
    > si en ese disco duro se encuentra el sistema operativo

    Hola, Nicolás:

    Si tu intención es obtener la letra de la unidad donde se encuentra instalado el sistema operativo, te comento que hay otros caminos más fáciles de obtenerlo, como por ejemplo, conocer la ruta de la carpeta donde está instalado Windows, valor que nos lo devuelve la variable de entorno "windir":

        Public Shared Function ObtenerUnidadSistema() As Char
    
            ' Ruta de la carpeta donde se encuentra instalado el sistema operativo,
            ' que normalmente devolverá C:\Windows.
            '
            Dim directorioWindows As String = Environment.GetEnvironmentVariable("WinDir")
    
            ' Devolvemos el primer carácter de la ruta, que se
            ' comprende es la letra de la unidad: C, D, E, etc.
            '
            Return directorioWindows.Chars(0)
    
        End Function

    Cuando desees obtener la letra de la unidad, la obtendrías haciendo una simple llamada a la función ObtenerUnidadSistema:

        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    
            Dim unidadSistema As Char = ObtenerUnidadSistema()
    
            MessageBox.Show(unidadSistema)
    
        End Sub

    Un saludo


    Enrique Martínez Montejo
            [MS MVP - VB]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.


    miércoles, 2 de julio de 2014 15:54
    Moderador