C# 사용 로컬 컴퓨터에있는 하드 드라이브에 대한 정보를 추출하려면 어떻게해야합니까?

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

  •  04-07-2019
  •  | 
  •  

문제

크기/용량, 직렬 번호, 모델 번호, 헤드 부문, 제조업체 및 스마트 데이터와 같은 데이터를 얻고 자합니다.

도움이 되었습니까?

해결책

WMI 호출을 사용하여 하드 디스크에 대한 정보에 액세스 할 수 있습니다.

// System.Management를 사용해야합니다. & 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");

다른 팁

당신은 사용해야합니다 시스템 관리 네임 스페이스 :

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

Win32_DiskDrive 클래스의 회원에 대한 자세한 내용은 다음을 확인하십시오.

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

가장 쉬운 방법은 WMI를 사용하여 필요한 정보를 얻는 것입니다. 문서를 살펴보십시오 Win32___DISKDRIVE 다양한 표준 드라이브 속성을 포함하는 MSDN에서. MSSTORADER_ATAPISMARTDATA WMI 클래스를 사용해 볼 수도 있지만 현재 문서를 찾을 수는 없지만 원하는 모든 스마트 데이터가 있어야합니다. 다음은 모든 드라이브를 열거하고 속성을 얻는 몇 가지 기본 샘플 코드입니다.

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

당신이 사용할 수있는 WMI 원하는 대부분의 정보를 얻으려면 WMI에 대한 소개가 있습니다. 여기.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top