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

来源:网络整理 责任编辑:栏目编辑 发表时间:2013-07-01 22:50 点击:

建立一个类.然后读取信息.调用代码如下.
HardInfoClass myclass=new HardInfoClass();
   textBox1.Text=myclass.GetHardDiskID();
   textBox2.Text=myclass.GetCpuID();
   textBox3.Text=myclass.Ge.NetCardMAC();
   textBox4.Text=myclass.Ge.NetCardIP();
   textBox5.Text=myclass.GetHostName();
   textBox6.Text=myclass.GetVolOf("D");//C盘58c6b679跟D盘6ed62864不一样

   //textBox7.Text=myclass.GetHashCode();
   //textBox8.Text=myclass.GetCpuID(); 

类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 Ge.NetCardMAC()
  {
   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 "";

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • 用C#制作屏幕捕获程序
    • .NET程序员项目开发必知必会—Dev环境中的集成测试用例执行时上
    • 遍历ArrayList易犯错误
    • C#对XML操作:一个处理XML文件的类(1)
    • .NET简谈反射(动态调用)
    • 使用C#编写LED样式时钟控件
    • DataList嵌套问题 如何删除内层子DataList的记录
    • 怎样用C#实现完整文档打印功能
    • .NET简谈自定义事务资源管理器
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1