c#获取本机电脑相关信息

 
类HardInfoClass代码如下

using System; 
using System.Net;
using System.Runtime.InteropServices; 
using System.Management; //需要在解决方案中引用System.Management.DLL文件

namespace FileTransLate.PCStatus
{
 /// <summary>
 /// HardInfoClass 的摘要说明。
 /// </summary>
 public class HardInfoClass
 {
  

  [DllImport("kernel32.dll")] 
  private static extern int GetVolumeInformation( 
   string lpRootPathName, 
   string lpVolumeNameBuffer, 
   int nVolumeNameSize, 
   ref int lpVolumeSerialNumber, 
   int lpMaximumComponentLength, 
   int lpFileSystemFlags, 
   string lpFileSystemNameBuffer, 
   int nFileSystemNameSize 
   ); 

  public HardInfoClass()
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
  }

  //取机器名 
  public string GetHostName() 
  { 
   return System.Net.Dns.GetHostName(); 
  } 

  //取CPU编号 
  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 ""; 
   } 

  }//end method 

  //取第一块硬盘编号 
  public string GetHardDiskID() 
  { 
   try 
   { 
    ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia"); 
    string strHardDiskID = null ; 
    foreach(ManagementObject mo in searcher.Get()) 
    { 
     strHardDiskID = mo["SerialNumber"].ToString().Trim(); 
     break; 
    } 
    return strHardDiskID ; 
   } 
   catch 
   { 
    return ""; 
   } 
  }
  //获取网卡MAC地址

  public string GetNetCardMAC()
  {
   try 
   {
    string stringMAC = "";    
    ManagementClass MC = new ManagementClass("Win32_NetworkAdapterConfiguration"); 
    ManagementObjectCollection MOC= MC.GetInstances(); 
    
    foreach(ManagementObject MO in MOC) 
    { 
     if ((bool)MO["IPEnabled"] == true) 
     { 
      stringMAC += MO["MACAddress"].ToString(); 
            
     } 
    }  
    return stringMAC;
   } 
   catch 
   { 
    return ""; 
   }
  }

  //获取硬盘信息的代码
  public string GetVolOf(string drvID)
  { 
   try 
   {
   const int MAX_FILENAME_LEN = 256; 
   int retVal = 0; 
   int a =0; 
   int b =0; 
   string str1 = null; 
   string str2 = null; 


   int i = GetVolumeInformation( 
    drvID + @":/", 
    str1, 
    MAX_FILENAME_LEN, 
    ref retVal, 
    a, 
    b, 
    str2, 
    MAX_FILENAME_LEN 
    ); 

   return retVal.ToString("x"); 
   } 
   catch 
   { 
    return ""; 
   }
  } 


  //获取当前网卡IP地址
  public string GetNetCardIP()
  {
   try 
   {   
    string stringIP = ""; 
    ManagementClass MC = new ManagementClass("Win32_NetworkAdapterConfiguration"); 
    ManagementObjectCollection MOC= MC.GetInstances(); 
    
    foreach(ManagementObject MO in MOC) 
    { 
     if ((bool)MO["IPEnabled"] == true) 
     {      
      string[] IPAddresses = (string[]) MO["IPAddress"]; 
      if(IPAddresses.Length > 0) 
      stringIP = IPAddresses[0].ToString();
      
     } 
    }
    return stringIP;
   } 
   catch 
   { 
    return ""; 
   }
  }
  
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值