为了获得卷序列,我编写了一个如下所示的函数:
string drive = Environment.ExpandEnvironmentVariables("%SystemDrive%").Replace(":", "");
string id = getVolumeSerial(drive);
private static string getVolumeSerial(string drive)
{
ManagementObject disk = new ManagementObject(@"win32_logicaldisk.deviceid="""
+ drive + @":""");
disk.Get();
string volumeSerial = disk["VolumeSerialNumber"].ToString();
disk.Dispose();
return volumeSerial;
}
我将包含该软件的软件部署给 30 人,但在 31 人的计算机上,ManagementObject 的初始化失败并抛出异常。是否有更好/替代/更可靠的方法来获取卷序列号?