Get serial number only once
This commit is contained in:
@@ -72,18 +72,24 @@ namespace Pilz.Cryptography
|
|||||||
return hash;
|
return hash;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static string Win32_PhysicalMedia_SerialNumber = null;
|
||||||
private static string TryGetSerialNumberOfFirstHardDrive()
|
private static string TryGetSerialNumberOfFirstHardDrive()
|
||||||
{
|
{
|
||||||
var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
|
if (Win32_PhysicalMedia_SerialNumber == null)
|
||||||
var sn = string.Empty;
|
|
||||||
|
|
||||||
foreach (ManagementObject wmi_HD in searcher.Get())
|
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(sn) && wmi_HD["SerialNumber"] != null)
|
var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
|
||||||
sn = wmi_HD["SerialNumber"].ToString().Trim();
|
var sn = string.Empty;
|
||||||
|
|
||||||
|
foreach (ManagementObject wmi_HD in searcher.Get())
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(sn) && wmi_HD["SerialNumber"] != null)
|
||||||
|
sn = wmi_HD["SerialNumber"].ToString().Trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
Win32_PhysicalMedia_SerialNumber = sn;
|
||||||
}
|
}
|
||||||
|
|
||||||
return sn;
|
return Win32_PhysicalMedia_SerialNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string ToString() => ID;
|
public override string ToString() => ID;
|
||||||
|
|||||||
Reference in New Issue
Block a user