我正在使用以下代码获取我的驱动器序列号。它在Windows 7、8、8.1和10专业版上运行良好,但在Windows 10家庭版上出现错误。
我正在遇到问题:
还有一个问题:如果我从U盘启动操作系统,这段代码能用吗?我如何知道操作系统是从U盘、磁盘或其他任何资源运行的?
当我打开设备管理器时,看到了这个:
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();
}
我正在遇到问题:
有人知道为什么吗?在这种情况下,我需要做什么才能得到序列号?System.NullReferenceException:对象引用未设置为对象的实例。
还有一个问题:如果我从U盘启动操作系统,这段代码能用吗?我如何知道操作系统是从U盘、磁盘或其他任何资源运行的?
当我打开设备管理器时,看到了这个:
Win32_PhysicalMedia
而不是Win32_DiskDrive
。 - ADreNaLiNe-DJWin32_PhysicalMedia
一起使用。 - Pranav PatelWin32_PhysicalMedia
中,Windows 10 桌面版的测试已完成
是错误的。 - Pranav Patel