private static string cpuId()
{
//Uses first CPU identifier available in order of preference
//Don't get all identifiers, as it is very time consuming
string retVal = identifier("Win32_Processor", "UniqueId");
if (String.Empty.Equals(retVal)) {
retVal = identifier("Win32_Processor", "ProcessorId");
if (String.Empty.Equals(retVal)) {
retVal = identifier("Win32_Processor", "Name");
if (String.Empty.Equals(retVal)) { //If no Name, use Manufacturer
retVal = identifier("Win32_Processor", "Manufacturer");
}
//Add clock speed for extra security
retVal += identifier("Win32_Processor", "MaxClockSpeed");
}
}
return retVal;
}