您尚未登录,请登录后浏览更多内容! 登录 | 注册并了解

QQ登录

只需一步,快速开始

 找回密码
 注册并了解

QQ登录

只需一步,快速开始

查看: 4011|回复: 0
打印 上一主题 下一主题
收起左侧

C# 通过WMI获取电脑硬件信息

[复制链接]

点击这里给我发消息

QQ

跳转到指定楼层
楼主
发表于 2014-4-3 01:06:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. using System;
  2. using System.Management;
  3. namespace ZGX.Common
  4. {
  5.     /// <summary>   
  6.     /// Computer Information   
  7.     /// </summary>   
  8.     public class Computer
  9.     {
  10.         public string CpuID;
  11.         public string MacAddress;
  12.         public string DiskID;
  13.         public string IpAddress;
  14.         public string LoginUserName;
  15.         public string ComputerName;
  16.         public string SystemType;
  17.         public string TotalPhysicalMemory; //单位:M   
  18.         private static Computer _instance;
  19.         public static Computer Instance()
  20.         {
  21.             if (_instance == null)
  22.                 _instance = new Computer();
  23.             return _instance;
  24.         }
  25.         /// <summary>
  26.         /// 构造函数
  27.         /// </summary>
  28.         public Computer()
  29.         {
  30.             CpuID = GetCpuID();
  31.             MacAddress = GetMacAddress();
  32.             DiskID = GetDiskID();
  33.             IpAddress = GetIPAddress();
  34.             LoginUserName = GetUserName();
  35.             SystemType = GetSystemType();
  36.             TotalPhysicalMemory = GetTotalPhysicalMemory();
  37.             ComputerName = GetComputerName();
  38.         }
  39.         /// <summary>
  40.         /// 获取cpu序列号
  41.         /// </summary>
  42.         /// <returns></returns>
  43.         string GetCpuID()
  44.         {
  45.             try
  46.             {
  47.                 //获取CPU序列号代码   
  48.                 string cpuInfo = "";//cpu序列号   
  49.                 ManagementClass mc = new ManagementClass("Win32_Processor");
  50.                 ManagementObjectCollection moc = mc.GetInstances();
  51.                 foreach (ManagementObject mo in moc)
  52.                 {
  53.                     cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
  54.                 }
  55.                 moc = null;
  56.                 mc = null;
  57.                 return cpuInfo;
  58.             }
  59.             catch
  60.             {
  61.                 return "unknow";
  62.             }
  63.             finally
  64.             {
  65.             }
  66.         }
  67.         /// <summary>
  68.         /// 获取网卡硬件地址  
  69.         /// </summary>
  70.         /// <returns></returns>
  71.         string GetMacAddress()
  72.         {
  73.             try
  74.             {
  75.                 //获取网卡硬件地址   
  76.                 string mac = "";
  77.                 ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
  78.                 ManagementObjectCollection moc = mc.GetInstances();
  79.                 foreach (ManagementObject mo in moc)
  80.                 {
  81.                     if ((bool)mo["IPEnabled"] == true)
  82.                     {
  83.                         mac = mo["MacAddress"].ToString();
  84.                         break;
  85.                     }
  86.                 }
  87.                 moc = null;
  88.                 mc = null;
  89.                 return mac;
  90.             }
  91.             catch
  92.             {
  93.                 return "unknow";
  94.             }
  95.             finally
  96.             {
  97.             }
  98.         }
  99.         /// <summary>
  100.         /// 获取IP地址
  101.         /// </summary>
  102.         /// <returns></returns>
  103.         string GetIPAddress()
  104.         {
  105.             try
  106.             {
  107.                 //获取IP地址   
  108.                 string st = "";
  109.                 ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
  110.                 ManagementObjectCollection moc = mc.GetInstances();
  111.                 foreach (ManagementObject mo in moc)
  112.                 {
  113.                     if ((bool)mo["IPEnabled"] == true)
  114.                     {
  115.                         //st=mo["IpAddress"].ToString();   
  116.                         System.Array ar;
  117.                         ar = (System.Array)(mo.Properties["IpAddress"].Value);
  118.                         st = ar.GetValue(0).ToString();
  119.                         break;
  120.                     }
  121.                 }
  122.                 moc = null;
  123.                 mc = null;
  124.                 return st;
  125.             }
  126.             catch
  127.             {
  128.                 return "unknow";
  129.             }
  130.             finally
  131.             {
  132.             }
  133.         }
  134.         /// <summary>
  135.         /// 获取硬盘ID
  136.         /// </summary>
  137.         /// <returns></returns>
  138.         string GetDiskID()
  139.         {
  140.             try
  141.             {
  142.                 //获取硬盘ID   
  143.                 String HDid = "";
  144.                 ManagementClass mc = new ManagementClass("Win32_DiskDrive");
  145.                 ManagementObjectCollection moc = mc.GetInstances();
  146.                 foreach (ManagementObject mo in moc)
  147.                 {
  148.                     HDid = (string)mo.Properties["Model"].Value;
  149.                 }
  150.                 moc = null;
  151.                 mc = null;
  152.                 return HDid;
  153.             }
  154.             catch
  155.             {
  156.                 return "unknow";
  157.             }
  158.             finally
  159.             {
  160.             }
  161.         }
  162.         /// <summary>   
  163.         /// 操作系统的登录用户名   
  164.         /// </summary>   
  165.         /// <returns></returns>   
  166.         string GetUserName()
  167.         {
  168.             try
  169.             {
  170.                 string st = "";
  171.                 ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
  172.                 ManagementObjectCollection moc = mc.GetInstances();
  173.                 foreach (ManagementObject mo in moc)
  174.                 {
  175.                     st = mo["UserName"].ToString();
  176.                 }
  177.                 moc = null;
  178.                 mc = null;
  179.                 return st;
  180.             }
  181.             catch
  182.             {
  183.                 return "unknow";
  184.             }
  185.             finally
  186.             {
  187.             }
  188.         }

  189.         /// <summary>   
  190.         /// PC类型   
  191.         /// </summary>   
  192.         /// <returns></returns>   
  193.         string GetSystemType()
  194.         {
  195.             try
  196.             {
  197.                 string st = "";
  198.                 ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
  199.                 ManagementObjectCollection moc = mc.GetInstances();
  200.                 foreach (ManagementObject mo in moc)
  201.                 {
  202.                     st = mo["SystemType"].ToString();
  203.                 }
  204.                 moc = null;
  205.                 mc = null;
  206.                 return st;
  207.             }
  208.             catch
  209.             {
  210.                 return "unknow";
  211.             }
  212.             finally
  213.             {
  214.             }
  215.         }
  216.         /// <summary>   
  217.         /// 物理内存   
  218.         /// </summary>   
  219.         /// <returns></returns>   
  220.         string GetTotalPhysicalMemory()
  221.         {
  222.             try
  223.             {
  224.                 string st = "";
  225.                 ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
  226.                 ManagementObjectCollection moc = mc.GetInstances();
  227.                 foreach (ManagementObject mo in moc)
  228.                 {
  229.                     st = mo["TotalPhysicalMemory"].ToString();
  230.                 }
  231.                 moc = null;
  232.                 mc = null;
  233.                 return st;
  234.             }
  235.             catch
  236.             {
  237.                 return "unknow";
  238.             }
  239.             finally
  240.             {
  241.             }
  242.         }
  243.         /// <summary>   
  244.         ///    电脑名称
  245.         /// </summary>   
  246.         /// <returns></returns>   
  247.         string GetComputerName()
  248.         {
  249.             try
  250.             {
  251.                 return System.Environment.GetEnvironmentVariable("ComputerName");
  252.             }
  253.             catch
  254.             {
  255.                 return "unknow";
  256.             }
  257.             finally
  258.             {
  259.             }
  260.         }

  261.     }
  262. }
复制代码



上一篇:自己花了2013年一整年学游戏辅助相关的东西....总结一下过程
下一篇:c# 获取CPU使用率和内存
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对 订阅订阅
您需要登录后才可以回帖 登录 | 注册并了解

本版积分规则

       
    闽ICP备18004340号-3

GMT+8, 2024-6-1 19:03 , Processed in 0.357511 second(s), 43 queries .

返回顶部