• C# 通过VMI接口获取硬件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;
    	}
     
    }
    

    版权声明: 本博客,文章与代码均为学习时整理的笔记,博客中除去明确标注有参考文献的文章,其他文章【均为原创】作品,转载请务必【添加出处】,您添加出处是我创作的动力!

    警告:如果您恶意转载本人文章,则您的整站文章,将会变为我的原创作品,请相互尊重!
  • 相关阅读:
    MS SQL入门基础:SQL数据库中的事务
    MS SQL入门基础:删除数据
    MS SQL入门基础:触发器的高级应用
    MS SQL入门基础:SQL Server 安全性管理的途径
    MS SQL入门基础:权限管理
    MS SQL入门基础:打开游标
    MS SQL入门基础:数据库更新添加数据
    MS SQL入门基础:游标、游标的优点和种类
    MS SQL入门基础:创建和管理视图
    MS SQL入门基础:数据库中的连接查询
  • 原文地址:https://www.cnblogs.com/LyShark/p/15115115.html
Copyright © 2020-2023  润新知