usando c # como posso extrair informações sobre os discos rígidos apresentar na máquina local

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

  •  04-07-2019
  •  | 
  •  

Pergunta

Eu estou olhando para obter dados como tamanho / capacidade, Serial No, No. modelo, cabeças Setores, Fabricante e dados possivelmente SMART.

Foi útil?

Solução

Você pode usar chamadas WMI para informações de acesso sobre os discos rígidos.

// Requer usando System.Management; & System.Management.dll Referência

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");

Outras dicas

Você deve usar a System.Management namespace:

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

Para obter detalhes sobre os membros da classe Win32_DiskDrive, confira:

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

A maneira mais fácil é usar WMI para obter as informações necessárias. Tome pelo olhada na documentação para Win32___DiskDrive em MSDN, que contém uma variedade de propriedades da unidade padrão. Você também pode tentar usar a classe MSStorageDriver_ATAPISmartData WMI, que não consigo encontrar qualquer documentação para no momento, mas deve ter todos os dados inteligente que você está procurando. Aqui está um código de exemplo básica para enumerar todas as unidades e obter suas propriedades:

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();
}

Você pode usar WMI para obter a maioria das informações que você quer, e não há uma introdução à WMI aqui .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top