ibcadmin 发表于 2014-4-28 10:54:45

c#获取电脑硬件信息

之前出过这个类似的教程,刚刚又看到一个比我自己写的比较全的代码,
共享出来:

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 "cpu序列号:"+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地址:"+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 "IP地址:"+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
            {
            }
      }

转自博客园


johnyhh 发表于 2014-6-11 16:35:17

谢谢分享
页: [1]
查看完整版本: c#获取电脑硬件信息