Мне нужно получить любую информацию для идентификации машины, и то, что я использовал до сих пор, было следующим:
internal static string GetProcessorId()
{
try
{
StringBuilder sb = new StringBuilder();
using (System.Management.ManagementClass theClass = new System.Management.ManagementClass("Win32_Processor"))
{
using (System.Management.ManagementObjectCollection theCollectionOfResults = theClass.GetInstances())
{
foreach (System.Management.ManagementObject currentResult in theCollectionOfResults)
{
sb.Append(currentResult["ProcessorID"].ToString());
}
}
}
return sb.ToString();
}
catch (Exception exception)
{
Console.WriteLine(exception.Message);
return "";
}
}
Но когда я запускаю это в Windows XP (с виртуальной машины), мой currentResult["ProcessorID"]
- это null
.Я не уверен, что это потому, что я использую виртуальную машину, но это может быть потому, что это XP.Во всяком случае, я не очень доверяю этому коду.Это достаточно безопасно?Должен ли я получить идентификатор компьютера другим способом?Это все часть системы лицензирования, которую я разрабатываю.