【问题标题】:How to check hard disk is Sata Device or it is IDE Device using c#如何使用c#检查硬盘是SATA设备还是IDE设备
【发布时间】:2016-08-31 03:57:59
【问题描述】:

我有 SATA 硬盘,我想通过 C# windows 窗体检测。我想显示它是 SATA 或 IDE 驱动器。我正在使用以下代码,但它总是返回 IDE,但它应该返回 SATA。所以任何人都可以帮助我找出我错的地方。

WqlObjectQuery q = new WqlObjectQuery("SELECT * FROM Win32_DiskDrive");
ManagementObjectSearcher res = new ManagementObjectSearcher(q);

foreach (ManagementObject o in res.Get())
 {
  string lblInterface= o["InterfaceType"].ToString();
 }

【问题讨论】:

  • 你可以使用Drive Info类。你可以得到信息。

标签: c# .net winforms hardware hard-drive


【解决方案1】:

根据Win32_DiskDrivedocumentationInterfaceType 的可能值为:

SCSI

HDC

IDE

USB

1394

因此,您不会看到 SATA。

但是,Caption 属性可能包含有关驱动器的额外信息。您可以解析它以查找它是否包含 ATA 或 SCSI。

【讨论】:

  • 好的,但哪个值适用于 SATA 驱动器。它返回 IDE,但我有 SATA 驱动器。
  • 好的,它不在可能值列表中,因此默认为IDE?
  • 这个问题可能对你有帮助stackoverflow.com/questions/5362199/…
  • 谢谢,但我正在寻找 C#。
  • 同一个底层API。
【解决方案2】:

检查win32_DiskDrivecaption 属性以获取字符串ATA

来自 MSDN Caption 数据类型:字符串 访问类型:只读 限定符:MaxLen (64)、DisplayName(“标题”) 对象的简短描述

foreach (ManagementObject o in res.Get())
{
     string sCaption = o["Caption"].ToString();
     if(sCaption.Contains("ATA"))
     {
          Console.WriteLine("SATA Drive");
          break;
     }
}

【讨论】:

  • 兄弟确定每个SATA Device的Caption都包含“ATA”字串吗?
猜你喜欢
  • 2011-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-04
  • 2012-09-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多