首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >c# 获取电脑硬件信息通用查询类[测试通过]

c# 获取电脑硬件信息通用查询类[测试通过]

作者头像
磊哥
发布2018-04-26 16:44:44
1.1K0
发布2018-04-26 16:44:44
举报
文章被收录于专栏:王磊的博客王磊的博客

C#获取电脑硬件信息通用类[Computer]代码展示和分析,简介如下:

1.项目中添加System.Management引用。

2.添加类Computer,把下面代码全选,复制,粘贴。

3.使用方法new Computer().GetComputerName()。

using System;
using System.Management;  // 添加System.Management引用

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;
    }
    /// <summary>
    /// 构造函数
    /// </summary>
    public Computer()
    {
        CpuID = GetCpuID();
        MacAddress = GetMacAddress();
        DiskID = GetDiskID();
        IpAddress = GetIPAddress();
        LoginUserName = GetUserName();
        SystemType = GetSystemType();
        TotalPhysicalMemory = GetTotalPhysicalMemory();
        ComputerName = GetComputerName();
    }
    /// <summary>
    /// 获取cpu序列号
    /// </summary>
    /// <returns></returns>
    public 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";
        }
    }
    /// <summary>
    /// 获取网卡硬件地址  
    /// </summary>
    /// <returns></returns>
    public 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";
        }
    }
    /// <summary>
    /// 获取IP地址
    /// </summary>
    /// <returns></returns>
    public 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";
        }
    }
    /// <summary>
    /// 获取硬盘ID 
    /// </summary>
    /// <returns></returns>
    public 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";
        }
    }

    /// <summary>   
    /// 操作系统的登录用户名   
    /// </summary>   
    /// <returns></returns>   
    public 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";
        }
    }


    /// <summary>   
    /// PC类型   
    /// </summary>   
    /// <returns></returns>   
    public 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";
        }
    }

    /// <summary>   
    /// 物理内存   
    /// </summary>   
    /// <returns></returns>   
    public 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";
        }
    }
    /// <summary>   
    /// 电脑名称
    /// </summary>   
    /// <returns></returns>   
    public string GetComputerName()
    {
        try
        {
            return System.Environment.GetEnvironmentVariable("ComputerName");
        }
        catch
        {
            return "unknow";
        }
    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2010-12-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档