usando c # ¿cómo puedo extraer información sobre los discos duros presentes en la máquina local?

StackOverflow https://stackoverflow.com/questions/232979

  •  04-07-2019
  •  | 
  •  

Pregunta

Estoy buscando obtener datos como Tamaño / Capacidad, Número de serie, Modelo No, Sectores de cabezales, Fabricante y posiblemente datos SMART.

¿Fue útil?

Solución

Puede usar llamadas WMI para acceder a la información sobre los discos duros.

// Requiere el uso de System.Management; &erio; Referencia de System.Management.dll

ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\""); 
disk.Get(); 
Console.WriteLine("Logical Disk Size = " + disk["Size"] + " bytes"); 
Console.WriteLine("Logical Disk FreeSpace = " + disk["FreeSpace"] + "bytes");

Otros consejos

Debe usar el System.Management :

System.Management.ManagementObjectSearcher ms =
    new System.Management.ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
foreach (ManagementObject mo in ms.Get())
{
    System.Console.Write(mo["Model");
}

Para obtener detalles sobre los miembros de la clase Win32_DiskDrive, echa un vistazo:

http://msdn.microsoft.com/ en-us / library / aa394132 (VS.85) .aspx

La forma más fácil es usar WMI para obtener la información requerida. Mire la documentación para Win32___DiskDrive en MSDN, que contiene una variedad de propiedades de unidad estándar. También puede intentar usar la clase de MSStorageDriver_ATAPISmartData WMI, que no puedo encontrar ningún documento por el momento, pero debería tener todos los datos SMART que está buscando. Aquí hay un código de ejemplo básico para enumerar todas las unidades y obtener sus propiedades:

ManagementClass driveClass = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection drives = driveClass.GetInstances();
foreach (ManagementObject drive in drives) 
{ 
    foreach (PropertyData property in drive.Properties)
    {
        Console.WriteLine("Property: {0}, Value: {1}", property.Name, property.Value);        
    }
    Console.WriteLine();
}

Puede usar WMI para obtener la mayor parte de la información que desea, y hay una introducción a WMI aquí .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top