123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Management;
- namespace MOTINOVA_MC_Test
- {
- internal class PC_Information
- {
- //获取设备ID
- public static string GetSystemID()
- {
- string systemId = null;
- using (ManagementObjectSearcher mos = new ManagementObjectSearcher("select * from Win32_ComputerSystemProduct"))
- {
- foreach (var item in mos.Get())
- {
- systemId = item["UUID"].ToString();
- }
- }
- return systemId;
- }
- // 获取CPU序列号
- public static string GetCPUSerialNumber()
- {
- string CPU_NO = "";//cpu序列号
- ManagementClass managementClass = new ManagementClass("Win32_Processor");
- ManagementObjectCollection moc = managementClass.GetInstances();
- foreach (ManagementObject mo in moc)
- {
- CPU_NO = mo.Properties["ProcessorId"].Value.ToString();
- }
- return CPU_NO;
- }
- //主板型号
- public static string GetBoardType()
- {
- string str = "";
- ManagementObjectSearcher mos = new ManagementObjectSearcher("Select * from Win32_BaseBoard");
- foreach (var o in mos.Get())
- {
- ManagementObject mo = (ManagementObject)o;
- str = mo["Product"].ToString();
- }
- return str;
- }
- //主板制造商
- public static string GetBoardManufacturer()
- {
- SelectQuery query = new SelectQuery("Select * from Win32_BaseBoard");
- ManagementObjectSearcher mos = new ManagementObjectSearcher(query);
- ManagementObjectCollection.ManagementObjectEnumerator data = mos.Get().GetEnumerator();
- data.MoveNext();
- ManagementBaseObject board = data.Current;
- string baseBoradMaker = board.GetPropertyValue("Manufacturer").ToString();
- return baseBoradMaker;
- }
- // 获取主板序列号
- public static string GetBIOSSerialNumber()
- {
- string str = "";
- ManagementObjectSearcher mos = new ManagementObjectSearcher("Select * from Win32_BaseBoard");
- foreach (var o in mos.Get())
- {
- ManagementObject mo = (ManagementObject)o;
- str = mo["SerialNumber"].ToString();
- }
- return str;
- }
- // 获取硬盘序列号
- public static string GetHardDiskSerialNumber()
- {
- try
- {
- ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
- string hardDiskSerialNumber = "";
- foreach (ManagementObject mo in searcher.Get())
- {
- hardDiskSerialNumber = mo["SerialNumber"].ToString().Trim();
- break;
- }
- return hardDiskSerialNumber;
- }
- catch
- {
- return "None";
- }
- }
- // 获取网卡地址
- public static string GetNetCardMACAddress()
- {
- var mac = "";
- var mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
- var moc = mc.GetInstances();
- foreach (var o in moc)
- {
- var mo = (ManagementObject)o;
- if (!(bool)mo["IPEnabled"]) continue;
- mac = mo["MacAddress"].ToString();
- break;
- }
- return mac;
- }
- //获取CPU型号
- public static string GetCpuName()
- {
- var CPUName = "";
- var management = new ManagementObjectSearcher("Select * from Win32_Processor");
- foreach (var baseObject in management.Get())
- {
- var managementObject = (ManagementObject)baseObject;
- CPUName = managementObject["Name"].ToString();
- }
- return CPUName;
- }
- //获取CPU制造厂商
- public static string GetCpuManufacturer()
- {
- var CPUMakerStr = "";
- var management = new ManagementObjectSearcher("Select * from Win32_Processor");
- foreach (var baseObject in management.Get())
- {
- var managementObject = (ManagementObject)baseObject;
- CPUMakerStr = managementObject["Manufacturer"].ToString();
- }
- return CPUMakerStr;
- }
- //获取IP地址
- public static string GetIpAddress()
- {
- var IPv4Str = "";
- var management = new ManagementClass("Win32_NetworkAdapterConfiguration");
- var managementObject = management.GetInstances();
- foreach (ManagementBaseObject managementBaseObject in managementObject)
- {
- var management1 = (ManagementObject)managementBaseObject;
- if (!(bool)management1["IPEnabled"]) continue;
- Array array = (Array)(management1.Properties["IpAddress"].Value);
- IPv4Str = array.GetValue(0).ToString();
- break;
- }
- return IPv4Str;
- }
- //操作系统
- public static string GetSystemType()
- {
- var sysTypeStr = "";
- ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
- ManagementObjectCollection moc = mc.GetInstances();
- foreach (ManagementBaseObject o in moc)
- {
- ManagementObject mo = (ManagementObject)o;
- sysTypeStr = mo["SystemType"].ToString();
- }
- return sysTypeStr;
- }
- //内存
- public static float GetPhysicalMemory()
- {
- float memoryCount = 0;
- var mc = new ManagementClass("Win32_ComputerSystem");
- var moc = mc.GetInstances();
- foreach (var o in moc)
- {
- var mo = (ManagementObject)o;
- string str = mo["TotalPhysicalMemory"].ToString();//单位为 B
- float a = long.Parse(str);
- memoryCount = a / 1024 / 1024 / 1024;//单位换成GB
- }
- return memoryCount;
- }
- // 获取每一个硬盘的容量,单位GB
- public static string GetDiskCapacity()
- {
- try
- {
- ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM win32_DiskDrive");
- string HardDriveCapacity = "";
- foreach (ManagementObject mo in searcher.Get())
- {
- long size_B = long.Parse(mo["Size"].ToString());//
- float sizeGB = size_B / 1000 / 1000 / 1000;
- HardDriveCapacity = sizeGB.ToString() + "\n" + HardDriveCapacity;
- }
- return HardDriveCapacity;
- }
- catch
- {
- return "Failed to get the capacity of each disk.";
- }
- }
- }
- }
|