• [C#] 获取硬件 Id


    添加引用:

    using System.Management;

    代码:

    class HardWareInfo
    {
    	/// <summary>
    	/// 获取 CPUID , 更多 cpu 信息参考
    	/// </summary>
    	/// <returns> cpuid </returns>
    	public static string GetCpuId()
    	{
    		string cpuid = "";
    
    		try
    		{
    			ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_Processor");
    			foreach (ManagementObject mo in searcher.Get())
    			{
    				cpuid = mo.Properties["ProcessorId"].Value.ToString();
    
    				break;
    			}
    		}
    		catch
    		{
    
    		}
    
    		return cpuid;
    	}
    
    	/// <summary>
    	/// 获取硬盘序列号
    	/// </summary>
    	/// <returns> 硬盘序列号 </returns>
    	public static string GetDiskSerialNumber()
    	{
    		string HDid = "";
    
    		try
    		{
    			ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_DiskDrive");
    			foreach (ManagementObject mo in searcher.Get())
    			{
    				HDid = (string)mo.Properties["SerialNumber"].Value;
    
    				break;
    			}
    		}
    		catch
    		{
    
    		}
    
    		return HDid;
    	}
    	
    	/// <summary>
    	/// 获取硬盘产品型号
    	/// </summary>
    	/// <returns>硬盘产品型号</returns>
    	public static string GetDiskModelNumber()
    	{
    		string HDid = "";
    
    		try
    		{
    			ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_DiskDrive");
    			foreach (ManagementObject mo in searcher.Get())
    			{
    				HDid = (string)mo.Properties["Model"].Value;
    
    				break;
    			}
    		}
    		catch
    		{
    
    		}
    		
    		return HDid;
    	}
    
    	/// <summary>
    	/// 获取 Mac 地址 ,更多网卡信息参考 :
    	/// </summary>
    	/// <returns> Mac 地址 </returns>
    	public static string GetMacAddress()
    	{
    		string mac = "";
    
    		try
    		{
    			ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_NetworkAdapterConfiguration");
    			foreach (ManagementObject mo in searcher.Get())
    			{
    				if ((bool)mo["IPEnabled"] == true)
    				{
    					mac = mo["MacAddress"].ToString();
    
    					break;
    				}
    			}
    		}
    		catch
    		{
    
    		}
    		
    		return mac;
    	}
    
    	/// <summary>
    	/// 获取 ip 地址
    	/// </summary>
    	/// <returns> ip 地址 </returns>
    	public static string GetIpAddress()
    	{
    		string st = "";
    
    		try
    		{
    			ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_NetworkAdapterConfiguration");
    			foreach (ManagementObject mo in searcher.Get())
    			{
    				if ((bool)mo["IPEnabled"] == true)
    				{
    					System.Array ar;
    					ar = (System.Array)(mo.Properties["IpAddress"].Value);
    					st = ar.GetValue(0).ToString();
    
    					break;
    				}
    			}
    		}
    		catch
    		{
    
    		}
    		
    		return st;
    	}
    
    	/// <summary>
    	/// 获取主板序列号
    	/// </summary>
    	/// <returns> 主板序列号 </returns>
    	public static string GetBIOSSerialNumber()
    	{
    		string sBIOSSerialNumber = "";
    
    		try
    		{
    			ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_BIOS");
    			foreach (ManagementObject mo in searcher.Get())
    			{
    				sBIOSSerialNumber = mo.GetPropertyValue("SerialNumber").ToString().Trim();
    
    				break;
    			}
    		}
    		catch
    		{
    
    		}
    
    		return sBIOSSerialNumber;
    	}
    
    }

  • 相关阅读:
    instanceof方法
    Java 实现接口计算圆柱的体积和面积并添加颜色
    Java代码执行顺序
    Java饿汉单例模式
    斐波那契数(动态规划和递归)
    Java 接口实现计算器加减乘除(字符交互界面)
    局部内部类详解_转载
    Java引用类型
    递归打印字符串
    时间复杂度
  • 原文地址:https://www.cnblogs.com/csnd/p/15613294.html
Copyright © 2020-2023  润新知