Чтобы получить серийный номер компьютера на C#, вы можете использовать разные методы в зависимости от ваших требований. Вот несколько подходов, которые вы можете использовать:
Метод 1: использование ManagementObjectSearcher и WMI (инструментария управления Windows):
using System.Management;
string GetComputerSerialNumber()
{
string serialNumber = string.Empty;
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT SerialNumber FROM Win32_BIOS");
ManagementObjectCollection collection = searcher.Get();
foreach (ManagementObject obj in collection)
{
serialNumber = obj["SerialNumber"].ToString();
break;
}
return serialNumber;
}
Метод 2: использование WMI и запрос класса Win32_ComputerSystemProduct:
using System.Management;
string GetComputerSerialNumber()
{
string serialNumber = string.Empty;
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT IdentifyingNumber FROM Win32_ComputerSystemProduct");
ManagementObjectCollection collection = searcher.Get();
foreach (ManagementObject obj in collection)
{
serialNumber = obj["IdentifyingNumber"].ToString();
break;
}
return serialNumber;
}
Метод 3: использование System.Management и запрос к классу Win32_BaseBoard:
using System.Management;
string GetComputerSerialNumber()
{
string serialNumber = string.Empty;
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT SerialNumber FROM Win32_BaseBoard");
ManagementObjectCollection collection = searcher.Get();
foreach (ManagementObject obj in collection)
{
serialNumber = obj["SerialNumber"].ToString();
break;
}
return serialNumber;
}
Эти методы используют разные классы WMI для получения серийного номера компьютера. Вы можете выбрать тот, который лучше всего соответствует вашим потребностям.