サイズ/容量、シリアル番号、モデル番号、ヘッド セクター、メーカー、そしておそらく SMART データなどのデータを取得しようとしています。
11112 次
4 に答える
9
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");
于 2008-10-24T10:17:48.447 に答える
3
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");
}
Win32_DiskDrive クラスのメンバーの詳細については、以下を確認してください。
http://msdn.microsoft.com/en-us/library/aa394132(VS.85).aspx
于 2008-10-24T10:21:49.237 に答える
2
最も簡単な方法は、WMI を使用して必要な情報を取得することです。MSDN のWin32___DiskDriveのドキュメントを参照してください。これには、さまざまな標準ドライブ プロパティが含まれています。また、MSStorageDriver_ATAPISmartData WMI クラスを使用することもできます。現時点ではドキュメントが見つかりませんが、探している SMART データがすべて含まれているはずです。すべてのドライブを列挙し、そのプロパティを取得するための基本的なサンプル コードを次に示します。
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();
}
于 2008-10-24T10:35:57.007 に答える