C#读取CPUid,硬盘id,网卡Mac地址

本文提供了使用C#语言获取计算机硬件信息的方法,包括机器名、CPU编号、MAC地址及C盘序列号。通过调用System.Net和System.Management命名空间下的类和方法,实现了对本地计算机硬件属性的读取。
ExpandedBlockStart.gif代码
    using System;
    
using System.Collections.Generic;
    
using System.Linq;
    
using System.Management;
    
using System.Runtime.InteropServices;
    
using System.Text;

    
namespace cai
    {
        
        
class HardwareInfo
        {
            
/// <summary>
            
/// 取机器名 
            
/// </summary>
            
/// <returns></returns>
            public string GetHostName()
            {
                
return System.Net.Dns.GetHostName();
            }
               
            
/// <summary>
            
/// 取CPU编号 
            
/// </summary>
            
/// <returns></returns>
            public String GetCpuID()
            {
                
try
                {
                    ManagementClass mc 
= new ManagementClass("Win32_Processor");
                    ManagementObjectCollection moc 
= mc.GetInstances();

                    String strCpuID 
= null;
                    
foreach (ManagementObject mo in moc)
                    {
                        strCpuID 
= mo.Properties["ProcessorId"].Value.ToString();
                        
break;
                    }
                    
return strCpuID;
                }
                
catch
                {
                    
return "";
                }
            }
            
/// <summary>
            
/// 读取Mac地址
            
/// </summary>
            
/// <returns></returns>
            public string GetNetCardMacAddress()
            {
                ManagementClass mc;
                ManagementObjectCollection moc;
                mc 
= new ManagementClass("Win32_NetworkAdapterConfiguration");
                moc 
= mc.GetInstances();
                
string str = "";
                
foreach (ManagementObject mo in moc)
                {
                    
if ((bool)mo["IPEnabled"== true)
                        str 
= mo["MacAddress"].ToString();

                }
                
return str;
            }
           
/// <summary>
            
/// 读取C盘序列号
           
/// </summary>
           
/// <returns></returns>
            public string GetDiskVolumeSerialNumber()
            {
                ManagementObject disk;
                disk 
= new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");
                disk.Get();
                
return disk.GetPropertyValue("VolumeSerialNumber").ToString();
            }
        }
    }

从网络收集整理出来。。

转载于:https://www.cnblogs.com/cai9911/archive/2010/07/11/1775401.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值