zoukankan      html  css  js  c++  java
  • [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;
    	}
    
    }

  • 相关阅读:
    子类构造函数中调用虚函数问题验证
    socks5代理浅识
    关于C++标准库(第2版)std::remove_if的"特性"概述
    动态获取结构体中指定的属性值
    构造和析构函数定义为私有场景
    remove_pointer使用测验
    广播自定义消息实现进程间的通信问题
    遍历窗口权限问题
    嵌入窗口到桌面的问题
    实验一 熟悉实验环境
  • 原文地址:https://www.cnblogs.com/csnd/p/15613294.html
Copyright © 2011-2022 走看看