此类能检测出电脑的cpu序列号,获取网卡硬件地址,获取IP地址,获取硬盘ID,操作系统的登录用户名,PC类型,物理内存,就这些了,够用吧,谁在有能获取电脑别的信息的类,跟贴啊,欢迎大家分享,打造一个超强的检测电脑通用类。

注意调用的时候,一定要先添加 using System.Management 命名空间,

label控件调用的方法为

Computer pc = new Computer();
       this.lblPC.Text = pc.MacAddress;

下面为类代码,把此文件放到 App_code文件下即可

using System;
using System.Management;
namespace Soyee.Comm
{
 /// <summary>
 /// Computer Information
 /// </summary>
 public class Computer
 {
  public string CpuID;
  public string MacAddress;
  public string DiskID;
  public string IpAddress;
  public string LoginUserName;
  public string ComputerName;
  public string SystemType;
  public string TotalPhysicalMemory; //单位:M
     private static Computer _instance;
  public static Computer Instance()
  {
   if (_instance == null)
    _instance = new Computer();
   return _instance;
  }
  public Computer()
  {
   CpuID=GetCpuID();
   MacAddress=GetMacAddress();
   DiskID=GetDiskID();
   IpAddress=GetIPAddress();
   LoginUserName=GetUserName();
   SystemType=GetSystemType();
   TotalPhysicalMemory=GetTotalPhysicalMemory();
   ComputerName=GetComputerName();
  }
  string  GetCpuID()
  {
   try
   {
    //获取CPU序列号代码
    string cpuInfo = "";//cpu序列号
    ManagementClass mc = new ManagementClass("Win32_Processor");
    ManagementObjectCollection moc = mc.GetInstances();
    foreach(ManagementObject mo in moc)
    {
     cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
    }
    moc=null;
    mc=null;
    return cpuInfo;
   }
   catch
   {
    return "unknow";
   }
   finally
   {
   }
   
  }
  string  GetMacAddress()
  {
   try
   {
    //获取网卡硬件地址
    string mac="";
    ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
    ManagementObjectCollection moc = mc.GetInstances();
    foreach(ManagementObject mo in moc)
    {
     if((bool)mo["IPEnabled"] == true)
     {
      mac=mo["MacAddress"].ToString();
      break;
     }
    }
    moc=null;
    mc=null;
    return mac;
   }
   catch
   {
    return "unknow";
   }
   finally
   {
   }
   
  }
  string  GetIPAddress()
  {
   try
   {
    //获取IP地址
    string st="";
    ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
    ManagementObjectCollection moc = mc.GetInstances();
    foreach(ManagementObject mo in moc)
    {
     if((bool)mo["IPEnabled"] == true)
     {
      //st=mo["IpAddress"].ToString();
      System.Array ar;
      ar=(System.Array)(mo.Properties["IpAddress"].Value);
      st=ar.GetValue(0).ToString();
      break;
     }
    }
    moc=null;
    mc=null;
    return st;
   }
   catch
   {
    return "unknow";
   }
   finally
   {
   }
   
  }
  
  string  GetDiskID()
  {
   try
   {
    //获取硬盘ID
    String HDid="";
    ManagementClass mc = new ManagementClass("Win32_DiskDrive");
    ManagementObjectCollection moc = mc.GetInstances();
    foreach(ManagementObject mo in moc)
    {
     HDid = (string)mo.Properties["Model"].Value;
    }
    moc=null;
    mc=null;
    return HDid;
   }
   catch
   {
    return "unknow";
   }
   finally
   {
   }
    
  }

/// <summary>
  /// 操作系统的登录用户名
  /// </summary>
  /// <returns></returns>
  string  GetUserName()
  {
   try
   {
    string st="";
    ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
    ManagementObjectCollection moc = mc.GetInstances();
    foreach(ManagementObject mo in moc)
    {
     
     st=mo["UserName"].ToString();
     
    }
    moc=null;
    mc=null;
    return st;
   }
   catch
   {
    return "unknow";
   }
   finally
   {
   }
   
  }

/// <summary>
  /// PC类型
  /// </summary>
  /// <returns></returns>
  string  GetSystemType()
  {
   try
   {
    string st="";
    ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
    ManagementObjectCollection moc = mc.GetInstances();
    foreach(ManagementObject mo in moc)
    {
     
     st=mo["SystemType"].ToString();
     
    }
    moc=null;
    mc=null;
    return st;
   }
   catch
   {
    return "unknow";
   }
   finally
   {
   }
   
  }

/// <summary>
  /// 物理内存
  /// </summary>
  /// <returns></returns>
  string  GetTotalPhysicalMemory()
  {
   try
   {
    
    string st="";
    ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
    ManagementObjectCollection moc = mc.GetInstances();
    foreach(ManagementObject mo in moc)
    {
     
     st=mo["TotalPhysicalMemory"].ToString();
     
    }
    moc=null;
    mc=null;
    return st;
   }
   catch
   {
    return "unknow";
   }
   finally
   {
   }
  }
  /// <summary>
  ///
  /// </summary>
  /// <returns></returns>
  string  GetComputerName()
  {
   try
   {    
    return System.Environment.GetEnvironmentVariable("ComputerName");
   }
   catch
   {
    return "unknow";
   }
   finally
   {
   }
  }

}
}

转载于:https://www.cnblogs.com/9who/archive/2008/07/28/1254529.html

C#检测电脑的一些设置通用类(经典推荐)相关推荐

  1. 怎么打开计算机的硬盘,如何检测电脑硬盘是否运行_怎么进bios设置看硬盘是否被电脑识别...

    在使用电脑的时候,可能会遇到无法正常启动的现象,而导致这个问题的原因有很多,系统问题或者硬件问题,或者硬盘本身问题引起的,比如硬盘没有被电脑识别,那么我们如何检测电脑硬盘是否运行呢?其实可以进入bio ...

  2. 一劳永逸,iOS 网页视图控制器通用类封装

    原文链接:http://www.jianshu.com/p/553424763585 随着 H5 的发展,在 iOS 开发中,网页视图的使用率逐渐提升,为了增加代码封装度.减轻开发负担,因此通常会对网 ...

  3. 检测电脑硬件的软件_为电脑DIY爱好者推荐一款非常实用的硬件测试软件

    作为电脑DIY爱好者,经常使用电脑硬件测试软件对一些硬件的性能进行测试比较,同时了解有关的一些系统信息,这类软件常见的如Everest.360硬件测试大师.鲁大师等,这几款软件虽然都可测试电脑主要硬件 ...

  4. 电脑公司GhostXP_SP3笔记本通用版2011.05_装机版

    电脑公司GhostXP_SP3笔记本通用版2011.05 -本系统是为笔记本装机制作-集成了大量驱动笔记本 -集成主流笔记本驱动,大部分笔记本都能一次全驱动 -采用增强型SRS,支持最新的笔记本开AH ...

  5. 计算机桌面性能4.4怎么办,电脑性能优化设置

    <电脑性能优化设置>是2005年电子工业出版社出版的图书,作者徐津 赵树林 庞兆广. 书    名 电脑性能优化设置 作    者 徐津 赵树林 庞兆广ISBN 7121010828 页  ...

  6. C#.NET操作数据库通用类(MS SQL Server篇)

    下面给出了一个C#操作MS SQL Server 数据库的通用类,通过该类可以对数据库进行任何操作,包括执行SQL语句.执行存储过程.以下是其详细实现过程,希望大家共同修改优化之.稍后将介绍如何使用它 ...

  7. C#.NET操作数据库通用类

    下面给出了一个C#操作MS SQL Server 数据库的通用类,通过该类可以对数据库进行任何操作,包括执行SQL语句.执行存储过程.以下是其详细实现过程,希望大家共同修改优化之.稍后将介绍如何使用它 ...

  8. Memcached通用类(基于enyim.com Memcached Client)

    一.如果用官方提供的方法,在web.config里面配置好了各个参数和服务器IP.如下图: <?xml version="1.0"?> <configuratio ...

  9. vb检测电脑温度_电脑硬件温度多少正常?如何查看电脑硬件温度?

    众所周知,除了核心硬件的好坏会决定性能之外,而电脑硬件温度也会对性能有所影响,如果CPU或者显卡等硬件温度偏高,那么就会造成电脑卡顿缓慢,还容易出现死机,不自动重启等故障.那么电脑硬件温度多少正常?如 ...

最新文章

  1. telegram 组(groups) 和 频道(channels) 简介
  2. Android 动态刷新listview中的数据
  3. 读书推荐:2017 第一期
  4. 上传文件漏洞案例分析
  5. 微服务微应用的安全测试_提高微服务安全性的11个方法
  6. 程序员能力提升:你应该知道的那些编程原则!!
  7. css3制作俩面翻转盒子效果
  8. 执行conda install tensorflow solving environment一直转圈圈,Anaconda无法打开的问题
  9. java程序员学习路线图 java程序员进阶路线
  10. 提高工作效率的几个网站
  11. 淘淘商城第107讲——添加购物车
  12. 两平面平行方向向量关系_空间向量,如果一条直线与一平面平行,那么直线的方向向量与平面的法向量有什么关系??垂直呢?...
  13. js 修改html编码,Javascript 中对HTML编码和解码的方法
  14. Unity UGUI制作HSV颜色选择器,看我表演川剧变脸
  15. Word中使用表格排版公式时,表格内序号纵向居中的问题。
  16. 计算机网络实验(三个部分--验证性、Wireshark、CPT)
  17. 四足机器人并联腿足端轨迹Matlab仿真
  18. python全角数字_python 半角全角的相互转换
  19. iOS App内测分发的步骤解析
  20. 火车头V9翻译插件-终极稳定版(翻译10000篇文章不报错)

热门文章

  1. 0基础该如何学Python?这些方法你必须了解
  2. win7无法连接打印机拒绝访问_win7系统连接XP网络打印机无法连接到打印机拒绝访问的解决方法...
  3. cass坡度土方计算案例_南方CASS方格网土方计算心得
  4. jsp中的url拼接的参数传递到controller乱码_猿蜕变系列5——一文搞懂Controller的花式编写...
  5. mysql lbs 附近的人_一口气说出 4种 LBS “附近的人” 实现方式,面试官笑了
  6. oracle exists mysql_oracle_in_exists_left-join
  7. linux红帽网页中文乱码解决,【linux学习笔记】安装redhat时中文显示乱码(小方框)解决方法...
  8. 关于TensorFlow报错ModuleNotFoundError: No module named ‘imutils‘
  9. 关于学习Python的一点学习总结(58->匹配对象和编组)
  10. Educational Codeforces Round 105 (Rated for Div. 2) C. 1D Sokoban