C# 사용 로컬 컴퓨터에있는 하드 드라이브에 대한 정보를 추출하려면 어떻게해야합니까?
-
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();
}
제휴하지 않습니다 StackOverflow