Декомпельнул один софт, весь код вытащил оттуда же. Будет полезно, если хотите защитить свой софт :bomzh: Список Все вышеперечисленные функции: Код Все вышеперечисленные функции: using System.Management; Код using System.Management; GetProcessorId private static string GetProcessorId() { ManagementObjectCollection instances = new ManagementClass("win32_processor").GetInstances(); string result = string.Empty; using (ManagementObjectCollection.ManagementObjectEnumerator enumerator = instances.GetEnumerator()) { if (enumerator.MoveNext()) { result = ((ManagementObject)enumerator.Current).Properties["processorID"].Value.ToString(); } } return result; } Код private static string GetProcessorId() { ManagementObjectCollection instances = new ManagementClass("win32_processor").GetInstances(); string result = string.Empty; using (ManagementObjectCollection.ManagementObjectEnumerator enumerator = instances.GetEnumerator()) { if (enumerator.MoveNext()) { result = ((ManagementObject)enumerator.Current).Properties["processorID"].Value.ToString(); } } return result; } GetHDDSerialNo private static string GetHDDSerialNo() { ManagementObjectCollection instances = new ManagementClass("Win32_LogicalDisk").GetInstances(); string text = ""; foreach (ManagementBaseObject managementBaseObject in instances) { ManagementObject managementObject = (ManagementObject)managementBaseObject; text += Convert.ToString(managementObject["VolumeSerialNumber"]); } return text; } Код private static string GetHDDSerialNo() { ManagementObjectCollection instances = new ManagementClass("Win32_LogicalDisk").GetInstances(); string text = ""; foreach (ManagementBaseObject managementBaseObject in instances) { ManagementObject managementObject = (ManagementObject)managementBaseObject; text += Convert.ToString(managementObject["VolumeSerialNumber"]); } return text; } GetMACAddress private static string GetMACAddress() { ManagementObjectCollection instances = new ManagementClass("Win32_NetworkAdapterConfiguration").GetInstances(); string text = string.Empty; foreach (ManagementBaseObject managementBaseObject in instances) { ManagementObject managementObject = (ManagementObject)managementBaseObject; if (text == string.Empty && (bool)managementObject["IPEnabled"]) { text = managementObject["MacAddress"].ToString(); } managementObject.Dispose(); } return text; } Код private static string GetMACAddress() { ManagementObjectCollection instances = new ManagementClass("Win32_NetworkAdapterConfiguration").GetInstances(); string text = string.Empty; foreach (ManagementBaseObject managementBaseObject in instances) { ManagementObject managementObject = (ManagementObject)managementBaseObject; if (text == string.Empty && (bool)managementObject["IPEnabled"]) { text = managementObject["MacAddress"].ToString(); } managementObject.Dispose(); } return text; } GetBoardMaker private static string GetBoardMaker() { foreach (ManagementBaseObject managementBaseObject in new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_BaseBoard").Get()) { ManagementObject managementObject = (ManagementObject)managementBaseObject; try { return managementObject.GetPropertyValue("Manufacturer").ToString(); } catch { } } return "Board Maker: Unknown"; } Код private static string GetBoardMaker() { foreach (ManagementBaseObject managementBaseObject in new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_BaseBoard").Get()) { ManagementObject managementObject = (ManagementObject)managementBaseObject; try { return managementObject.GetPropertyValue("Manufacturer").ToString(); } catch { } } return "Board Maker: Unknown"; } GetBoardProductId private static string GetBoardProductId() { foreach (ManagementBaseObject managementBaseObject in new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_BaseBoard").Get()) { ManagementObject managementObject = (ManagementObject)managementBaseObject; try { return managementObject.GetPropertyValue("Product").ToString(); } catch { } } return "Product: Unknown"; } Код private static string GetBoardProductId() { foreach (ManagementBaseObject managementBaseObject in new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_BaseBoard").Get()) { ManagementObject managementObject = (ManagementObject)managementBaseObject; try { return managementObject.GetPropertyValue("Product").ToString(); } catch { } } return "Product: Unknown"; } GetCdRomDrive private static string GetCdRomDrive() { foreach (ManagementBaseObject managementBaseObject in new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_CDROMDrive").Get()) { ManagementObject managementObject = (ManagementObject)managementBaseObject; try { return managementObject.GetPropertyValue("Drive").ToString(); } catch { } } return "CD ROM Drive Letter: Unknown"; } Код private static string GetCdRomDrive() { foreach (ManagementBaseObject managementBaseObject in new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_CDROMDrive").Get()) { ManagementObject managementObject = (ManagementObject)managementBaseObject; try { return managementObject.GetPropertyValue("Drive").ToString(); } catch { } } return "CD ROM Drive Letter: Unknown"; } GetBIOSmaker private static string GetBIOSmaker() { foreach (ManagementBaseObject managementBaseObject in new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_BIOS").Get()) { ManagementObject managementObject = (ManagementObject)managementBaseObject; try { return managementObject.GetPropertyValue("Manufacturer").ToString(); } catch { } } return "BIOS Maker: Unknown"; } Код private static string GetBIOSmaker() { foreach (ManagementBaseObject managementBaseObject in new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_BIOS").Get()) { ManagementObject managementObject = (ManagementObject)managementBaseObject; try { return managementObject.GetPropertyValue("Manufacturer").ToString(); } catch { } } return "BIOS Maker: Unknown"; } GetBIOSserNo private static string GetBIOSserNo() { foreach (ManagementBaseObject managementBaseObject in new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_BIOS").Get()) { ManagementObject managementObject = (ManagementObject)managementBaseObject; try { return managementObject.GetPropertyValue("SerialNumber").ToString(); } catch { } } return "BIOS Serial Number: Unknown"; } Код private static string GetBIOSserNo() { foreach (ManagementBaseObject managementBaseObject in new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_BIOS").Get()) { ManagementObject managementObject = (ManagementObject)managementBaseObject; try { return managementObject.GetPropertyValue("SerialNumber").ToString(); } catch { } } return "BIOS Serial Number: Unknown"; } GetBIOScaption private static string GetBIOScaption() { foreach (ManagementBaseObject managementBaseObject in new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_BIOS").Get()) { ManagementObject managementObject = (ManagementObject)managementBaseObject; try { return managementObject.GetPropertyValue("Caption").ToString(); } catch { } } return "BIOS Caption: Unknown"; } Код private static string GetBIOScaption() { foreach (ManagementBaseObject managementBaseObject in new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_BIOS").Get()) { ManagementObject managementObject = (ManagementObject)managementBaseObject; try { return managementObject.GetPropertyValue("Caption").ToString(); } catch { } } return "BIOS Caption: Unknown"; } GetAccountName private static string GetAccountName() { foreach (ManagementBaseObject managementBaseObject in new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_UserAccount").Get()) { ManagementObject managementObject = (ManagementObject)managementBaseObject; try { return managementObject.GetPropertyValue("Name").ToString(); } catch { } } return "User Account Name: Unknown"; } Код private static string GetAccountName() { foreach (ManagementBaseObject managementBaseObject in new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_UserAccount").Get()) { ManagementObject managementObject = (ManagementObject)managementBaseObject; try { return managementObject.GetPropertyValue("Name").ToString(); } catch { } } return "User Account Name: Unknown"; } GetPhysicalMemory private static string GetPhysicalMemory() { ManagementScope scope = new ManagementScope(); ObjectQuery query = new ObjectQuery("SELECT Capacity FROM Win32_PhysicalMemory"); ManagementObjectCollection managementObjectCollection = new ManagementObjectSearcher(scope, query).Get(); long num = 0L; foreach (ManagementBaseObject managementBaseObject in managementObjectCollection) { long num2 = Convert.ToInt64(((ManagementObject)managementBaseObject)["Capacity"]); num += num2; } num = num / 1024L / 1024L; return num.ToString(); } Код private static string GetPhysicalMemory() { ManagementScope scope = new ManagementScope(); ObjectQuery query = new ObjectQuery("SELECT Capacity FROM Win32_PhysicalMemory"); ManagementObjectCollection managementObjectCollection = new ManagementObjectSearcher(scope, query).Get(); long num = 0L; foreach (ManagementBaseObject managementBaseObject in managementObjectCollection) { long num2 = Convert.ToInt64(((ManagementObject)managementBaseObject)["Capacity"]); num += num2; } num = num / 1024L / 1024L; return num.ToString(); } GetNoRamSlots private static string GetNoRamSlots() { int num = 0; ManagementScope scope = new ManagementScope(); ObjectQuery query = new ObjectQuery("SELECT MemoryDevices FROM Win32_PhysicalMemoryArray"); foreach (ManagementBaseObject managementBaseObject in new ManagementObjectSearcher(scope, query).Get()) { num = Convert.ToInt32(((ManagementObject)managementBaseObject)["MemoryDevices"]); } return num.ToString(); } Код private static string GetNoRamSlots() { int num = 0; ManagementScope scope = new ManagementScope(); ObjectQuery query = new ObjectQuery("SELECT MemoryDevices FROM Win32_PhysicalMemoryArray"); foreach (ManagementBaseObject managementBaseObject in new ManagementObjectSearcher(scope, query).Get()) { num = Convert.ToInt32(((ManagementObject)managementBaseObject)["MemoryDevices"]); } return num.ToString(); } GetCPUManufacturer private static string GetCPUManufacturer() { string text = string.Empty; foreach (ManagementBaseObject managementBaseObject in new ManagementClass("Win32_Processor").GetInstances()) { ManagementObject managementObject = (ManagementObject)managementBaseObject; if (text == string.Empty) { text = managementObject.Properties["Manufacturer"].Value.ToString(); } } return text; } Код private static string GetCPUManufacturer() { string text = string.Empty; foreach (ManagementBaseObject managementBaseObject in new ManagementClass("Win32_Processor").GetInstances()) { ManagementObject managementObject = (ManagementObject)managementBaseObject; if (text == string.Empty) { text = managementObject.Properties["Manufacturer"].Value.ToString(); } } return text; } GetDefaultIPGateway private static string GetDefaultIPGateway() { ManagementObjectCollection instances = new ManagementClass("Win32_NetworkAdapterConfiguration").GetInstances(); string text = string.Empty; foreach (ManagementBaseObject managementBaseObject in instances) { ManagementObject managementObject = (ManagementObject)managementBaseObject; if (text == string.Empty && (bool)managementObject["IPEnabled"]) { text = managementObject["DefaultIPGateway"].ToString(); } managementObject.Dispose(); } return text; } Код private static string GetDefaultIPGateway() { ManagementObjectCollection instances = new ManagementClass("Win32_NetworkAdapterConfiguration").GetInstances(); string text = string.Empty; foreach (ManagementBaseObject managementBaseObject in instances) { ManagementObject managementObject = (ManagementObject)managementBaseObject; if (text == string.Empty && (bool)managementObject["IPEnabled"]) { text = managementObject["DefaultIPGateway"].ToString(); } managementObject.Dispose(); } return text; } GetOSInformation private static string GetOSInformation() { foreach (ManagementBaseObject managementBaseObject in new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem").Get()) { ManagementObject managementObject = (ManagementObject)managementBaseObject; try { return string.Concat(new string[] { ((string)managementObject["Caption"]).Trim(), ", ", (string)managementObject["Version"], ", ", (string)managementObject["OSArchitecture"] }); } catch { } } return "BIOS Maker: Unknown"; } Код private static string GetOSInformation() { foreach (ManagementBaseObject managementBaseObject in new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem").Get()) { ManagementObject managementObject = (ManagementObject)managementBaseObject; try { return string.Concat(new string[] { ((string)managementObject["Caption"]).Trim(), ", ", (string)managementObject["Version"], ", ", (string)managementObject["OSArchitecture"] }); } catch { } } return "BIOS Maker: Unknown"; } GetProcessorInformation private static string GetProcessorInformation() { ManagementObjectCollection instances = new ManagementClass("win32_processor").GetInstances(); string result = string.Empty; foreach (ManagementBaseObject managementBaseObject in instances) { ManagementObject managementObject = (ManagementObject)managementBaseObject; string text = (string)managementObject["Name"]; result = string.Concat(new string[] { text, ", ", (string)managementObject["Caption"], ", ", (string)managementObject["SocketDesignation"] }); } return result; } Код private static string GetProcessorInformation() { ManagementObjectCollection instances = new ManagementClass("win32_processor").GetInstances(); string result = string.Empty; foreach (ManagementBaseObject managementBaseObject in instances) { ManagementObject managementObject = (ManagementObject)managementBaseObject; string text = (string)managementObject["Name"]; result = string.Concat(new string[] { text, ", ", (string)managementObject["Caption"], ", ", (string)managementObject["SocketDesignation"] }); } return result; } GetComputerName private static string GetComputerName() { ManagementObjectCollection instances = new ManagementClass("Win32_ComputerSystem").GetInstances(); string result = string.Empty; foreach (ManagementBaseObject managementBaseObject in instances) { result = (string)((ManagementObject)managementBaseObject)["Name"]; } return result; } Код private static string GetComputerName() { ManagementObjectCollection instances = new ManagementClass("Win32_ComputerSystem").GetInstances(); string result = string.Empty; foreach (ManagementBaseObject managementBaseObject in instances) { result = (string)((ManagementObject)managementBaseObject)["Name"]; } return result; }
Я предложу свой вариант по использованию WMI с Linq и без просто в использование! Подключаем ссылки: System System.Data System.Management Код System System.Data System.Management Класс Hardware.cs namespace PCInfo { using System; using System.Management; using System.Security.Cryptography; using System.Text; using System.Text.RegularExpressions; public static class Hardware { // Output: AuthenticAMD || 178BFBFF00100F53 || // AMD Phenom™ II P820 Triple-Core Processor, AMD64 Family 16 Model 5 Stepping 3, Socket ASB2 public static string GetProcessor(bool namescheck, string name) // "Manufacturer", "processorID", "Name" { const string NAME = "SELECT * FROM Win32_Processor"; string result = ""; // string.Empty try { using var searcher = new ManagementObjectSearcher(NAME); using ManagementObjectCollection items = searcher.Get(); foreach (ManagementBaseObject obj in items) { if (namescheck == true && name == "Name") { string names = obj[name]?.ToString(); names = names.Replace("(TM)", "™") .Replace("(tm)", "™") .Replace("(R)", "®") .Replace("(r)", "®") .Replace("(C)", "©") .Replace("(c)", "©") .Replace(" ", " ") .Replace(" ", " "); result = $"{names}, {obj["Caption"]?.ToString()}, {obj["SocketDesignation"]?.ToString()}"; } else { result = obj.Properties[name]?.Value.ToString(); } } } catch (Exception) { } return result; } // Output: B20A826CD46BB7A1A403675C public static string GetHDDSerialNo() { const string NAME = "SELECT * FROM Win32_LogicalDisk"; string result = ""; // string.Empty try { using var searcher = new ManagementObjectSearcher(NAME); using ManagementObjectCollection items = searcher.Get(); foreach (ManagementBaseObject obj in items) { result += obj["VolumeSerialNumber"]?.ToString(); } } catch (Exception) { } return result; } // Output: B4749FE4DE74 public static string GetMACAddress() { const string NAME = "SELECT * FROM Win32_NetworkAdapterConfiguration"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using ManagementObjectCollection items = searcher.Get(); foreach (ManagementBaseObject obj in items) { if ((bool)obj["IPEnabled"] == true) { result = obj["MacAddress"]?.ToString(); } } if (!string.IsNullOrEmpty(result)) { result = result.Replace(":", ""); } } catch (Exception) { } return result; } // Output: SAMSUNG ELECTRONICS CO., LTD. || R425D/R525D public static string GetBoardMaker(string name) // "Manufacturer", "Product" { const string NAME = "SELECT * FROM Win32_BaseBoard"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using ManagementObjectCollection items = searcher.Get(); foreach (ManagementBaseObject obj in items) { result = obj[name]?.ToString(); } } catch (Exception) { } return result; } // Output: Phoenix Technologies Ltd. || HKJ993BB800691 || // Phoenix SecureCore(tm) NB Version 01PC.M002.20110507.LEO public static string GetBIOSmaker(string name) // "Manufacturer", "SerialNumber", "Caption" { const string NAME = "SELECT * FROM Win32_BIOS"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using ManagementObjectCollection items = searcher.Get(); foreach (ManagementBaseObject obj in items) { result = obj[name]?.ToString(); } } catch (Exception) { } return result; } // Output: Admin public static string GetAccountName() { const string NAME = "SELECT * FROM Win32_UserAccount"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using ManagementObjectCollection items = searcher.Get(); foreach (ManagementBaseObject obj in items) { result = obj["Name"]?.ToString(); break; } } catch (Exception) { } return result; } // Output: 8GB || 12288MB public static string GetPhysicalMemory() { const string NAME = "SELECT * FROM Win32_PhysicalMemory"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using ManagementObjectCollection items = searcher.Get(); foreach (ManagementBaseObject obj in items) { string ConverterMB = Convert.ToString(Math.Round(Convert.ToDouble(obj["Capacity"]) / 0x4000_0000 * 0x3E8, 0x2)), ConverterGB = Convert.ToString(Math.Round(Convert.ToDouble(obj["Capacity"]) / 0x4000_0000, 0x2)); result = Convert.ToDouble(obj["Capacity"]) / 0x4000_0000 <= 0x1 ? $"{ConverterMB}MB" : $"{ConverterGB}GB"; } } catch (Exception) { } return result; } // Output: Microsoft Windows 7 Максимальная, 6.1.7601, 64-bit public static string GetOSInfo() { const string NAME = "SELECT * FROM Win32_OperatingSystem"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using ManagementObjectCollection items = searcher.Get(); foreach (ManagementBaseObject obj in items) { result = $"{(obj["Caption"]?.ToString()).Trim()}, {obj["Version"]?.ToString()}, {obj ["OSArchitecture"]?.ToString()}"; break; } } catch (Exception) { } return result; } // Output: ADMIN-PC public static string GetComputerName() { const string NAME = "SELECT * FROM Win32_ComputerSystem"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using ManagementObjectCollection items = searcher.Get(); foreach (ManagementBaseObject obj in items) { result = obj["Name"]?.ToString(); break; } } catch (Exception) { } return result; } // Output: М58D11A1-0014536А-ТВ92320-0X9D7391-6D5839F3 // Output with true: 8CGRB166-83F96E1B-B3BD6890-BCCDBB21-75AE5D26 public static string GetLicenseKey(bool bind_to_windows = !true) { string info = string.Join("|", GetProcessor(false, "processorID"), GetProcessor(true, "Name"), GetProcessor(false, "Manufacturer"), GetHDDSerialNo(), GetMACAddress(), GetBoardMaker("Manufacturer"), GetBoardMaker("Product"), GetBIOSmaker("Manufacturer"), GetBIOSmaker("SerialNumber"), GetBIOSmaker("Caption"), GetPhysicalMemory()); if (bind_to_windows) { info += $"|{string.Join("|", GetOSInfo(), GetAccountName(), GetComputerName())}"; } string result = ""; string[] MsResult = null; try { byte[] encoder = Encoding.UTF8.GetBytes(info); using var manager = new SHA1Managed(); byte[] ByteResult = manager.ComputeHash(encoder); foreach (byte b in ByteResult) { result += $"{b:x2}".ToUpper(); } } catch (Exception) { } try { var regex = new Regex(@"(\w{1,8})"); MatchCollection Matches = regex.Matches(result); MsResult = new string[Matches.Count]; for (int i = 0; i < Matches.Count; i++) { MsResult[i] = Matches[i].Groups[1].Value; } } catch (Exception) { } return string.Join("-", MsResult); } } } Код namespace PCInfo { using System; using System.Management; using System.Security.Cryptography; using System.Text; using System.Text.RegularExpressions; public static class Hardware { // Output: AuthenticAMD || 178BFBFF00100F53 || // AMD Phenom™ II P820 Triple-Core Processor, AMD64 Family 16 Model 5 Stepping 3, Socket ASB2 public static string GetProcessor(bool namescheck, string name) // "Manufacturer", "processorID", "Name" { const string NAME = "SELECT * FROM Win32_Processor"; string result = ""; // string.Empty try { using var searcher = new ManagementObjectSearcher(NAME); using ManagementObjectCollection items = searcher.Get(); foreach (ManagementBaseObject obj in items) { if (namescheck == true && name == "Name") { string names = obj[name]?.ToString(); names = names.Replace("(TM)", "™") .Replace("(tm)", "™") .Replace("(R)", "®") .Replace("(r)", "®") .Replace("(C)", "©") .Replace("(c)", "©") .Replace(" ", " ") .Replace(" ", " "); result = $"{names}, {obj["Caption"]?.ToString()}, {obj["SocketDesignation"]?.ToString()}"; } else { result = obj.Properties[name]?.Value.ToString(); } } } catch (Exception) { } return result; } // Output: B20A826CD46BB7A1A403675C public static string GetHDDSerialNo() { const string NAME = "SELECT * FROM Win32_LogicalDisk"; string result = ""; // string.Empty try { using var searcher = new ManagementObjectSearcher(NAME); using ManagementObjectCollection items = searcher.Get(); foreach (ManagementBaseObject obj in items) { result += obj["VolumeSerialNumber"]?.ToString(); } } catch (Exception) { } return result; } // Output: B4749FE4DE74 public static string GetMACAddress() { const string NAME = "SELECT * FROM Win32_NetworkAdapterConfiguration"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using ManagementObjectCollection items = searcher.Get(); foreach (ManagementBaseObject obj in items) { if ((bool)obj["IPEnabled"] == true) { result = obj["MacAddress"]?.ToString(); } } if (!string.IsNullOrEmpty(result)) { result = result.Replace(":", ""); } } catch (Exception) { } return result; } // Output: SAMSUNG ELECTRONICS CO., LTD. || R425D/R525D public static string GetBoardMaker(string name) // "Manufacturer", "Product" { const string NAME = "SELECT * FROM Win32_BaseBoard"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using ManagementObjectCollection items = searcher.Get(); foreach (ManagementBaseObject obj in items) { result = obj[name]?.ToString(); } } catch (Exception) { } return result; } // Output: Phoenix Technologies Ltd. || HKJ993BB800691 || // Phoenix SecureCore(tm) NB Version 01PC.M002.20110507.LEO public static string GetBIOSmaker(string name) // "Manufacturer", "SerialNumber", "Caption" { const string NAME = "SELECT * FROM Win32_BIOS"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using ManagementObjectCollection items = searcher.Get(); foreach (ManagementBaseObject obj in items) { result = obj[name]?.ToString(); } } catch (Exception) { } return result; } // Output: Admin public static string GetAccountName() { const string NAME = "SELECT * FROM Win32_UserAccount"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using ManagementObjectCollection items = searcher.Get(); foreach (ManagementBaseObject obj in items) { result = obj["Name"]?.ToString(); break; } } catch (Exception) { } return result; } // Output: 8GB || 12288MB public static string GetPhysicalMemory() { const string NAME = "SELECT * FROM Win32_PhysicalMemory"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using ManagementObjectCollection items = searcher.Get(); foreach (ManagementBaseObject obj in items) { string ConverterMB = Convert.ToString(Math.Round(Convert.ToDouble(obj["Capacity"]) / 0x4000_0000 * 0x3E8, 0x2)), ConverterGB = Convert.ToString(Math.Round(Convert.ToDouble(obj["Capacity"]) / 0x4000_0000, 0x2)); result = Convert.ToDouble(obj["Capacity"]) / 0x4000_0000 <= 0x1 ? $"{ConverterMB}MB" : $"{ConverterGB}GB"; } } catch (Exception) { } return result; } // Output: Microsoft Windows 7 Максимальная, 6.1.7601, 64-bit public static string GetOSInfo() { const string NAME = "SELECT * FROM Win32_OperatingSystem"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using ManagementObjectCollection items = searcher.Get(); foreach (ManagementBaseObject obj in items) { result = $"{(obj["Caption"]?.ToString()).Trim()}, {obj["Version"]?.ToString()}, {obj ["OSArchitecture"]?.ToString()}"; break; } } catch (Exception) { } return result; } // Output: ADMIN-PC public static string GetComputerName() { const string NAME = "SELECT * FROM Win32_ComputerSystem"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using ManagementObjectCollection items = searcher.Get(); foreach (ManagementBaseObject obj in items) { result = obj["Name"]?.ToString(); break; } } catch (Exception) { } return result; } // Output: М58D11A1-0014536А-ТВ92320-0X9D7391-6D5839F3 // Output with true: 8CGRB166-83F96E1B-B3BD6890-BCCDBB21-75AE5D26 public static string GetLicenseKey(bool bind_to_windows = !true) { string info = string.Join("|", GetProcessor(false, "processorID"), GetProcessor(true, "Name"), GetProcessor(false, "Manufacturer"), GetHDDSerialNo(), GetMACAddress(), GetBoardMaker("Manufacturer"), GetBoardMaker("Product"), GetBIOSmaker("Manufacturer"), GetBIOSmaker("SerialNumber"), GetBIOSmaker("Caption"), GetPhysicalMemory()); if (bind_to_windows) { info += $"|{string.Join("|", GetOSInfo(), GetAccountName(), GetComputerName())}"; } string result = ""; string[] MsResult = null; try { byte[] encoder = Encoding.UTF8.GetBytes(info); using var manager = new SHA1Managed(); byte[] ByteResult = manager.ComputeHash(encoder); foreach (byte b in ByteResult) { result += $"{b:x2}".ToUpper(); } } catch (Exception) { } try { var regex = new Regex(@"(\w{1,8})"); MatchCollection Matches = regex.Matches(result); MsResult = new string[Matches.Count]; for (int i = 0; i < Matches.Count; i++) { MsResult[i] = Matches[i].Groups[1].Value; } } catch (Exception) { } return string.Join("-", MsResult); } } } Класс HardwareLinq.cs namespace PCInfo { using System; using System.Linq; using System.Management; using System.Security.Cryptography; using System.Text; using System.Text.RegularExpressions; public static class HardwareLinq { // Output: AuthenticAMD || 178BFBFF00100F53 || // AMD Phenom™ II P820 Triple-Core Processor, AMD64 Family 16 Model 5 Stepping 3, Socket ASB2 public static string GetProcessor(bool namescheck, string name) // "Manufacturer", "processorID", "Name" { const string NAME = "SELECT * FROM Win32_Processor"; string result = ""; // string.Empty try { using var searcher = new ManagementObjectSearcher(NAME); using var items = searcher.Get().OfType<ManagementObject>().Where(p => p != null).FirstOrDefault(); if (namescheck == true && name == "Name") { string names = items[name]?.ToString(); names = names.Replace("(TM)", "™") .Replace("(tm)", "™") .Replace("(R)", "®") .Replace("(r)", "®") .Replace("(C)", "©") .Replace("(c)", "©") .Replace(" ", " ") .Replace(" ", " "); result = $"{names}, {items["Caption"]?.ToString()}, {items["SocketDesignation"]?.ToString()}"; } else { result = items.Properties[name]?.Value.ToString(); } } catch (Exception) { } return result; } // Output: B20A826CD46BB7A1A403675C public static string GetHDDSerialNo() { const string NAME = "SELECT * FROM Win32_LogicalDisk"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); //List<string> items = searcher.Get().Cast<ManagementObject>().Select(vsn => (string)vsn ["VolumeSerialNumber"]).ToList(); using var items = searcher.Get().OfType<ManagementObject>().Where(p => p != null).FirstOrDefault(); result += items["VolumeSerialNumber"]?.ToString().ToLower(); } catch (Exception) { } return result; } // Output: B4749FE4DE74 public static string GetMACAddress() { const string NAME = "SELECT * FROM Win32_NetworkAdapterConfiguration"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using var items = searcher.Get().OfType<ManagementObject>().Where(obj => (bool)obj["IPEnabled"] == true).LastOrDefault(); result = items["MacAddress"]?.ToString().Replace(":", ""); } catch (Exception) { } return result; } // Output: SAMSUNG ELECTRONICS CO., LTD. || R425D/R525D public static string GetBoardMaker(string name) // "Manufacturer", "Product" { const string NAME = "SELECT * FROM Win32_BaseBoard"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using var items = searcher.Get().OfType<ManagementObject>().Where(p => p != null).FirstOrDefault(); result += items[name]?.ToString(); } catch (Exception) { } return result; } // Output: Phoenix Technologies Ltd. || HKJ993BB800691 || // Phoenix SecureCore(tm) NB Version 01PC.M002.20110507.LEO public static string GetBIOSmaker(string name) // "Manufacturer", "SerialNumber", "Caption" { const string NAME = "SELECT * FROM Win32_BIOS"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using var items = searcher.Get().OfType<ManagementObject>().Where(p => p != null).FirstOrDefault(); result += items[name]?.ToString(); } catch (Exception) { } return result; } // Output: Admin public static string GetAccountName() { const string NAME = "SELECT * FROM Win32_UserAccount"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using var items = searcher.Get().OfType<ManagementObject>().Where(p => p != null).FirstOrDefault(); result += items["Name"]?.ToString(); } catch (Exception) { } return result; } // Output: 8GB || 12288MB public static string GetPhysicalMemory() { const string NAME = "SELECT * FROM Win32_PhysicalMemory"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using var items = searcher.Get().OfType<ManagementObject>().Where(p => p != null).FirstOrDefault(); string ConverterMB = Convert.ToString(Math.Round(Convert.ToDouble(items["Capacity"]) / 0x4000_0000 * 0x3E8, 0x2)), ConverterGB = Convert.ToString(Math.Round(Convert.ToDouble(items["Capacity"]) / 0x4000_0000, 0x2)); result = Convert.ToDouble(items["Capacity"]) / 0x4000_0000 <= 0x1 ? $"{ConverterMB}MB" : $"{ConverterGB}GB"; } catch (Exception) { } return result; } // Output: Microsoft Windows 7 Максимальная, 6.1.7601, 64-bit public static string GetOSInfo() { const string NAME = "SELECT * FROM Win32_OperatingSystem"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using var items = searcher.Get().OfType<ManagementObject>().Where(p => p != null).FirstOrDefault(); result = $"{(items["Caption"]?.ToString()).Trim()}, {items["Version"]?.ToString()}, {items ["OSArchitecture"]?.ToString()}"; } catch (Exception) { } return result; } // Output: ADMIN-PC public static string GetComputerName() { const string NAME = "SELECT * FROM Win32_ComputerSystem"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using var items = searcher.Get().OfType<ManagementObject>().Where(p => p != null).FirstOrDefault(); result = items["Name"]?.ToString(); } catch (Exception) { } return result; } // Output: М58D11A1-0014536А-ТВ92320-0X9D7391-6D5839F3 // Output with true: 8CGRB166-83F96E1B-B3BD6890-BCCDBB21-75AE5D26 public static string GetLicenseKey(bool bind_to_windows = !true) { string info = string.Join("|", GetProcessor(false, "processorID"), GetProcessor(true, "Name"), GetProcessor(false, "Manufacturer"), GetHDDSerialNo(), GetMACAddress(), GetBoardMaker("Manufacturer"), GetBoardMaker("Product"), GetBIOSmaker("Manufacturer"), GetBIOSmaker("SerialNumber"), GetBIOSmaker("Caption"), GetPhysicalMemory()); if (bind_to_windows) { info += $"|{string.Join("|", GetOSInfo(), GetAccountName(), GetComputerName())}"; } string result = ""; string[] MsResult = null; try { byte[] encoder = Encoding.UTF8.GetBytes(info); using var manager = new SHA1Managed(); byte[] ByteResult = manager.ComputeHash(encoder); foreach (byte b in ByteResult) { result += $"{b:x2}".ToUpper(); } } catch (Exception) { } try { var regex = new Regex(@"(\w{1,8})"); MatchCollection Matches = regex.Matches(result); MsResult = new string[Matches.Count]; for (int i = 0; i < Matches.Count; i++) { MsResult[i] = Matches[i].Groups[1].Value; } } catch (Exception) { } return string.Join("-", MsResult); } } } Код namespace PCInfo { using System; using System.Linq; using System.Management; using System.Security.Cryptography; using System.Text; using System.Text.RegularExpressions; public static class HardwareLinq { // Output: AuthenticAMD || 178BFBFF00100F53 || // AMD Phenom™ II P820 Triple-Core Processor, AMD64 Family 16 Model 5 Stepping 3, Socket ASB2 public static string GetProcessor(bool namescheck, string name) // "Manufacturer", "processorID", "Name" { const string NAME = "SELECT * FROM Win32_Processor"; string result = ""; // string.Empty try { using var searcher = new ManagementObjectSearcher(NAME); using var items = searcher.Get().OfType<ManagementObject>().Where(p => p != null).FirstOrDefault(); if (namescheck == true && name == "Name") { string names = items[name]?.ToString(); names = names.Replace("(TM)", "™") .Replace("(tm)", "™") .Replace("(R)", "®") .Replace("(r)", "®") .Replace("(C)", "©") .Replace("(c)", "©") .Replace(" ", " ") .Replace(" ", " "); result = $"{names}, {items["Caption"]?.ToString()}, {items["SocketDesignation"]?.ToString()}"; } else { result = items.Properties[name]?.Value.ToString(); } } catch (Exception) { } return result; } // Output: B20A826CD46BB7A1A403675C public static string GetHDDSerialNo() { const string NAME = "SELECT * FROM Win32_LogicalDisk"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); //List<string> items = searcher.Get().Cast<ManagementObject>().Select(vsn => (string)vsn ["VolumeSerialNumber"]).ToList(); using var items = searcher.Get().OfType<ManagementObject>().Where(p => p != null).FirstOrDefault(); result += items["VolumeSerialNumber"]?.ToString().ToLower(); } catch (Exception) { } return result; } // Output: B4749FE4DE74 public static string GetMACAddress() { const string NAME = "SELECT * FROM Win32_NetworkAdapterConfiguration"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using var items = searcher.Get().OfType<ManagementObject>().Where(obj => (bool)obj["IPEnabled"] == true).LastOrDefault(); result = items["MacAddress"]?.ToString().Replace(":", ""); } catch (Exception) { } return result; } // Output: SAMSUNG ELECTRONICS CO., LTD. || R425D/R525D public static string GetBoardMaker(string name) // "Manufacturer", "Product" { const string NAME = "SELECT * FROM Win32_BaseBoard"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using var items = searcher.Get().OfType<ManagementObject>().Where(p => p != null).FirstOrDefault(); result += items[name]?.ToString(); } catch (Exception) { } return result; } // Output: Phoenix Technologies Ltd. || HKJ993BB800691 || // Phoenix SecureCore(tm) NB Version 01PC.M002.20110507.LEO public static string GetBIOSmaker(string name) // "Manufacturer", "SerialNumber", "Caption" { const string NAME = "SELECT * FROM Win32_BIOS"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using var items = searcher.Get().OfType<ManagementObject>().Where(p => p != null).FirstOrDefault(); result += items[name]?.ToString(); } catch (Exception) { } return result; } // Output: Admin public static string GetAccountName() { const string NAME = "SELECT * FROM Win32_UserAccount"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using var items = searcher.Get().OfType<ManagementObject>().Where(p => p != null).FirstOrDefault(); result += items["Name"]?.ToString(); } catch (Exception) { } return result; } // Output: 8GB || 12288MB public static string GetPhysicalMemory() { const string NAME = "SELECT * FROM Win32_PhysicalMemory"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using var items = searcher.Get().OfType<ManagementObject>().Where(p => p != null).FirstOrDefault(); string ConverterMB = Convert.ToString(Math.Round(Convert.ToDouble(items["Capacity"]) / 0x4000_0000 * 0x3E8, 0x2)), ConverterGB = Convert.ToString(Math.Round(Convert.ToDouble(items["Capacity"]) / 0x4000_0000, 0x2)); result = Convert.ToDouble(items["Capacity"]) / 0x4000_0000 <= 0x1 ? $"{ConverterMB}MB" : $"{ConverterGB}GB"; } catch (Exception) { } return result; } // Output: Microsoft Windows 7 Максимальная, 6.1.7601, 64-bit public static string GetOSInfo() { const string NAME = "SELECT * FROM Win32_OperatingSystem"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using var items = searcher.Get().OfType<ManagementObject>().Where(p => p != null).FirstOrDefault(); result = $"{(items["Caption"]?.ToString()).Trim()}, {items["Version"]?.ToString()}, {items ["OSArchitecture"]?.ToString()}"; } catch (Exception) { } return result; } // Output: ADMIN-PC public static string GetComputerName() { const string NAME = "SELECT * FROM Win32_ComputerSystem"; string result = ""; try { using var searcher = new ManagementObjectSearcher(NAME); using var items = searcher.Get().OfType<ManagementObject>().Where(p => p != null).FirstOrDefault(); result = items["Name"]?.ToString(); } catch (Exception) { } return result; } // Output: М58D11A1-0014536А-ТВ92320-0X9D7391-6D5839F3 // Output with true: 8CGRB166-83F96E1B-B3BD6890-BCCDBB21-75AE5D26 public static string GetLicenseKey(bool bind_to_windows = !true) { string info = string.Join("|", GetProcessor(false, "processorID"), GetProcessor(true, "Name"), GetProcessor(false, "Manufacturer"), GetHDDSerialNo(), GetMACAddress(), GetBoardMaker("Manufacturer"), GetBoardMaker("Product"), GetBIOSmaker("Manufacturer"), GetBIOSmaker("SerialNumber"), GetBIOSmaker("Caption"), GetPhysicalMemory()); if (bind_to_windows) { info += $"|{string.Join("|", GetOSInfo(), GetAccountName(), GetComputerName())}"; } string result = ""; string[] MsResult = null; try { byte[] encoder = Encoding.UTF8.GetBytes(info); using var manager = new SHA1Managed(); byte[] ByteResult = manager.ComputeHash(encoder); foreach (byte b in ByteResult) { result += $"{b:x2}".ToUpper(); } } catch (Exception) { } try { var regex = new Regex(@"(\w{1,8})"); MatchCollection Matches = regex.Matches(result); MsResult = new string[Matches.Count]; for (int i = 0; i < Matches.Count; i++) { MsResult[i] = Matches[i].Groups[1].Value; } } catch (Exception) { } return string.Join("-", MsResult); } } } Для версии .Net 4.5 Класс HardwareAsync.cs namespace PCInfo { using System; using System.Management; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; /* Универсальный ключ на выходе: хххххххххххххххххх= Пример использования: File.WriteAllText("Result.txt", HardwareID.GET_ID); Требуется NetFramework 4.5 и выше. */ public static class HardwareAsync { public static string GET_ID = ReturnHWID().Result; private static async Task<string> ReturnHWID() { string info = string.Join("|", GetProcessorID(), GetBiosVersion(), GetDiskDrive()); byte[] hashedBytes = null; try { byte[] bytes = Encoding.UTF8.GetBytes(info); using (var Hash = SHA256.Create()) { hashedBytes = Hash.ComputeHash(bytes); } string convert = Convert.ToBase64String(hashedBytes).Substring(0x19); return await Task.FromResult(convert); } catch { return GET_ID; } } private static string GetProcessorID() { const string NAME = "SELECT * FROM Win32_Processor"; string result = ""; try { using ManagementObjectCollection ProcessorWin = new ManagementObjectSearcher(NAME).Get(); foreach (ManagementBaseObject obj in ProcessorWin) { result = obj["ProcessorId"]?.ToString().Substring(0, 4); break; } } catch (Exception) { } return result; } private static string GetBiosVersion() { const string NAME = "SELECT * FROM Win32_BIOS"; string result = ""; try { using ManagementObjectCollection BiosWin = new ManagementObjectSearcher(NAME).Get(); foreach (ManagementBaseObject bios_Collection in BiosWin) { result = bios_Collection["Version"]?.ToString().Substring(0, 4); break; } } catch (Exception) { } return result; } private static string GetDiskDrive() { const string NAME = "SELECT * FROM Win32_DiskDrive"; string result = ""; try { using ManagementObjectCollection BiosWin = new ManagementObjectSearcher(NAME).Get(); foreach (ManagementBaseObject hdd_Collection in BiosWin) { result = hdd_Collection["Signature"]?.ToString().Substring(0, 4); break; } } catch (Exception) { } return result; } } } Код namespace PCInfo { using System; using System.Management; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; /* Универсальный ключ на выходе: хххххххххххххххххх= Пример использования: File.WriteAllText("Result.txt", HardwareID.GET_ID); Требуется NetFramework 4.5 и выше. */ public static class HardwareAsync { public static string GET_ID = ReturnHWID().Result; private static async Task<string> ReturnHWID() { string info = string.Join("|", GetProcessorID(), GetBiosVersion(), GetDiskDrive()); byte[] hashedBytes = null; try { byte[] bytes = Encoding.UTF8.GetBytes(info); using (var Hash = SHA256.Create()) { hashedBytes = Hash.ComputeHash(bytes); } string convert = Convert.ToBase64String(hashedBytes).Substring(0x19); return await Task.FromResult(convert); } catch { return GET_ID; } } private static string GetProcessorID() { const string NAME = "SELECT * FROM Win32_Processor"; string result = ""; try { using ManagementObjectCollection ProcessorWin = new ManagementObjectSearcher(NAME).Get(); foreach (ManagementBaseObject obj in ProcessorWin) { result = obj["ProcessorId"]?.ToString().Substring(0, 4); break; } } catch (Exception) { } return result; } private static string GetBiosVersion() { const string NAME = "SELECT * FROM Win32_BIOS"; string result = ""; try { using ManagementObjectCollection BiosWin = new ManagementObjectSearcher(NAME).Get(); foreach (ManagementBaseObject bios_Collection in BiosWin) { result = bios_Collection["Version"]?.ToString().Substring(0, 4); break; } } catch (Exception) { } return result; } private static string GetDiskDrive() { const string NAME = "SELECT * FROM Win32_DiskDrive"; string result = ""; try { using ManagementObjectCollection BiosWin = new ManagementObjectSearcher(NAME).Get(); foreach (ManagementBaseObject hdd_Collection in BiosWin) { result = hdd_Collection["Signature"]?.ToString().Substring(0, 4); break; } } catch (Exception) { } return result; } } } Класс HardwareAsyncLinq.cs namespace PCInfo { using System; using System.Linq; using System.Management; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; public static class HardwareAsyncLinq { public static string GET_ID = ReturnHWID().Result; private static async Task<string> ReturnHWID() { string info = string.Join("|", GetProcessorID(), GetBiosVersion(), GetDiskDrive()); byte[] hashedBytes = null; try { byte[] bytes = Encoding.UTF8.GetBytes(info); using (var Hash = SHA256.Create()) { hashedBytes = Hash.ComputeHash(bytes); } string convert = Convert.ToBase64String(hashedBytes).Substring(0x19); return await Task.FromResult(convert); } catch { return GET_ID; } } private static string GetProcessorID() { const string NAME = "SELECT * FROM Win32_Processor"; string result = ""; try { using var ProcessorWin = new ManagementObjectSearcher(NAME); using var items = ProcessorWin.Get().OfType<ManagementObject>().Where(p => p != null).FirstOrDefault(); result += items["ProcessorId"]?.ToString().Substring(0, 4); } catch (Exception) { } return result; } private static string GetBiosVersion() { const string NAME = "SELECT * FROM Win32_BIOS"; string result = ""; try { using var BiosWin = new ManagementObjectSearcher(NAME); using var itembios_Collections = BiosWin.Get().OfType<ManagementObject>().Where(p => p != null).FirstOrDefault(); result += itembios_Collections["Version"]?.ToString().Substring(0, 4); } catch (Exception) { } return result; } private static string GetDiskDrive() { const string NAME = "SELECT * FROM Win32_DiskDrive"; string result = ""; try { using var BiosWin = new ManagementObjectSearcher(NAME); using var hdd_Collection = BiosWin.Get().OfType<ManagementObject>().Where(p => p != null).FirstOrDefault(); result += hdd_Collection["Signature"]?.ToString().Substring(0, 4); } catch (Exception) { } return result; } } } Код namespace PCInfo { using System; using System.Linq; using System.Management; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; public static class HardwareAsyncLinq { public static string GET_ID = ReturnHWID().Result; private static async Task<string> ReturnHWID() { string info = string.Join("|", GetProcessorID(), GetBiosVersion(), GetDiskDrive()); byte[] hashedBytes = null; try { byte[] bytes = Encoding.UTF8.GetBytes(info); using (var Hash = SHA256.Create()) { hashedBytes = Hash.ComputeHash(bytes); } string convert = Convert.ToBase64String(hashedBytes).Substring(0x19); return await Task.FromResult(convert); } catch { return GET_ID; } } private static string GetProcessorID() { const string NAME = "SELECT * FROM Win32_Processor"; string result = ""; try { using var ProcessorWin = new ManagementObjectSearcher(NAME); using var items = ProcessorWin.Get().OfType<ManagementObject>().Where(p => p != null).FirstOrDefault(); result += items["ProcessorId"]?.ToString().Substring(0, 4); } catch (Exception) { } return result; } private static string GetBiosVersion() { const string NAME = "SELECT * FROM Win32_BIOS"; string result = ""; try { using var BiosWin = new ManagementObjectSearcher(NAME); using var itembios_Collections = BiosWin.Get().OfType<ManagementObject>().Where(p => p != null).FirstOrDefault(); result += itembios_Collections["Version"]?.ToString().Substring(0, 4); } catch (Exception) { } return result; } private static string GetDiskDrive() { const string NAME = "SELECT * FROM Win32_DiskDrive"; string result = ""; try { using var BiosWin = new ManagementObjectSearcher(NAME); using var hdd_Collection = BiosWin.Get().OfType<ManagementObject>().Where(p => p != null).FirstOrDefault(); result += hdd_Collection["Signature"]?.ToString().Substring(0, 4); } catch (Exception) { } return result; } } } Класс Program.cs namespace PCInfo { using System; internal static class Program { [STAThread] public static void Main() { Console.WriteLine(Hardware.GetMACAddress()); Console.WriteLine(HardwareLinq.GetProcessor(true, "processorID")); // и.т.д Console.Read(); } } } Код namespace PCInfo { using System; internal static class Program { [STAThread] public static void Main() { Console.WriteLine(Hardware.GetMACAddress()); Console.WriteLine(HardwareLinq.GetProcessor(true, "processorID")); // и.т.д Console.Read(); } } } P.S: Так же скину весь проект с этими классами: https://github.com/r3xq1/PCInfo
WMI private static List<string> GetWMI(string WIN32_Class, string ClassItemField) { List<string> result = new List<string>(); ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM " + WIN32_Class); try { foreach (ManagementObject obj in searcher.Get()) { result.Add(obj[ClassItemField].ToString().Trim()); } } catch (Exception ex) { _logger.Inforamtion(ex, "error WMI"); } return result; } CSHARP private static List<string> GetWMI(string WIN32_Class, string ClassItemField) { List<string> result = new List<string>(); ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM " + WIN32_Class); try { foreach (ManagementObject obj in searcher.Get()) { result.Add(obj[ClassItemField].ToString().Trim()); } } catch (Exception ex) { _logger.Inforamtion(ex, "error WMI"); } return result; } Example: //GetProcessorName GetWMI("Win32_Processor", "Name"); CSHARP //GetProcessorName GetWMI("Win32_Processor", "Name");