小编Pra*_*tel的帖子

无法使用 Win32_DiskDrive 获取系统硬盘序列号

我正在使用以下代码来获取我的驱动器序列号。它在 Windows 7、8、8.1 和 10 Professional 上运行良好,但在 Windows 10 Home 上出现错误。

ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
foreach (ManagementObject wmi_HD in searcher.Get())
{
     if (wmi_HD["SerialNumber"] == null)
          hddId = null;
     else
          hddId = wmi_HD["SerialNumber"].ToString();
}
Run Code Online (Sandbox Code Playgroud)

我越来越

System.NullReferenceException:未将对象引用设置为对象的实例。

有谁知道为什么?在这种情况下,我需要做什么才能获得序列号?

还有一个问题:如果我从我的 pendrive 启动操作系统,这段代码会起作用吗?我怎么知道操作系统是从笔式驱动器或磁盘或任何其他资源运行的?

当我转到设备管理器时,我看到:

在此处输入图片说明

c# wmi winforms

3
推荐指数
1
解决办法
2931
查看次数

标签 统计

c# ×1

winforms ×1

wmi ×1