Как можно гарантированно получить серийный номер материнской платы (процессора, биоса) на WinXP-Win7 используя .net (С++,asm)?
Если применять WMI и Win32_BaseBoard, то свойство SerialNumber не всегда заполняется?
ManagementObjectSearcher Searcher = new ManagementObjectSearcher("root\\cimv2", "select * from Win32_BaseBoard");
ManagementObjectCollection Collection = Searcher.Get();
string Delimiter = "\t\t";
string TypeDelimiter = "======================================";
string SubTypeDelimiter = "--------------------------------------";
foreach (ManagementObject DiskInfo in Collection)
{
Console.WriteLine(DiskInfo.GetType());
Console.WriteLine(TypeDelimiter);
Console.WriteLine("Class path: " + DiskInfo.ClassPath);
Console.WriteLine("Path: " + DiskInfo.Path);
Console.WriteLine("Scope: " + DiskInfo.Scope);
Console.WriteLine(SubTypeDelimiter);
Console.WriteLine("Properties: ");
Console.WriteLine();
foreach (PropertyData Property in DiskInfo.Properties)
Console.WriteLine(Property.Name + Delimiter + Property.Value);
Console.WriteLine(SubTypeDelimiter);
Console.WriteLine("SystemProperties: ");
Console.WriteLine();
foreach (PropertyData Property in DiskInfo.SystemProperties)
Console.WriteLine(Property.Name + Delimiter + Property.Value);
Console.WriteLine(SubTypeDelimiter);
Console.WriteLine("Qualifiers: ");
Console.WriteLine();
foreach (QualifierData Qualifier in DiskInfo.Qualifiers)
Console.WriteLine(Qualifier.Name + Delimiter + Qualifier.Value);
Console.WriteLine();
}
Console.ReadKey();
Свойство SerialNumber на некоторых материнках пусто.