C# 获取电脑的硬件所有信息

public class ComputerInfoHelper
{
    /// <summary>
    /// 获取 CPU 所有信息
    /// </summary>
    /// <returns></returns>
    public static Dictionary<string, object> GetCPUInfo()
    {
        Dictionary<string, object> keyValues = new Dictionary<string, object>();
        try
        {
            ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Processor");
            ManagementObjectCollection collection = searcher.Get();

            int num = 1;
            foreach (ManagementObject obj in collection)
            {
                keyValues.Add("制造商" + num, obj["Manufacturer"]);
                keyValues.Add("型号" + num, obj["Name"]);
                keyValues.Add("处理器ID" + num, obj["ProcessorId"]);
                keyValues.Add("核心数" + num, obj["NumberOfCores"]);
                keyValues.Add("线程数" + num, obj["NumberOfLogicalProcessors"]);
                num++;
            }
        }
        catch (Exception ex)
        {
            keyValues.Clear();
            keyValues.Add("获取 CPU 信息时出现异常", ex.Message);
        }
        return keyValues;
    }
    /// <summary>
    /// 获取硬盘所有信息
    /// </summary>
    /// <returns></returns>
    public static Dictionary<string, object> GetHardDriveInfo()
    {
        Dictionary<string, object> keyValues = new Dictionary<string, object>();
        try
        {
            ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
            ManagementObjectCollection collection = searcher.Get();

            int num = 1;
            foreach (ManagementObject obj in collection)
            {
                keyValues.Add("制造商" + num, obj["Manufacturer"]);
                keyValues.Add("型号" + num, obj["Model"]);
                keyValues.Add("序列号" + num, obj["SerialNumber"]);
                keyValues.Add("容量" + num, obj["Size"] + " bytes");
                num++;
            }
        }
        catch (Exception ex)
        {
            keyValues.Clear();
            keyValues.Add("获取硬盘信息时出现异常", ex.Message);
        }
        return keyValues;
    }
    /// <summary>
    /// 获取内存所有信息
    /// </summary>
    /// <returns></returns>
    public static Dictionary<string, object> GetMemoryInfo()
    {
        Dictionary<string, object> keyValues = new Dictionary<string, object>();
        try
        {
            ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMemory");
            ManagementObjectCollection collection = searcher.Get();

            int num = 1;
            foreach (ManagementObject obj in collection)
            {
                keyValues.Add("制造商" + num, obj["Manufacturer"]);
                keyValues.Add("速度" + num, obj["Speed"] + " MHz");
                keyValues.Add("容量" + num, obj["Capacity"] + " bytes");
                keyValues.Add("型号" + num, obj["PartNumber"]);
                num++;
            }
        }
        catch (Exception ex)
        {
            keyValues.Clear();
            keyValues.Add("获取内存信息时出现异常", ex.Message);
        }
        return keyValues;
    }
    /// <summary>
    /// 获取主板所有信息
    /// </summary>
    /// <returns></returns>
    public static Dictionary<string, object> GetMotherboardInfo()
    {
        Dictionary<string, object> keyValues = new Dictionary<string, object>();
        try
        {
            ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_BaseBoard");
            ManagementObjectCollection collection = searcher.Get();

            int num = 1;
            foreach (ManagementObject obj in collection)
            {
                keyValues.Add("制造商"+ num, obj["Manufacturer"]);
                keyValues.Add("产品" + num, obj["Product"]);
                keyValues.Add("版本" + num, obj["Version"]);
                keyValues.Add("序列号" + num, obj["SerialNumber"]);
                num++;
            }
        }
        catch (Exception ex)
        {
            keyValues.Clear();
            keyValues.Add("获取主板信息时出现异常", ex.Message);
        }
        return keyValues;
    }
    /// <summary>
    /// 获取显卡信息
    /// </summary>
    public static Dictionary<string,object> GetGraphicsCardInfo()
    {
        Dictionary<string, object> keyValues = new Dictionary<string, object>();
        try
        {
            ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_VideoController");
            ManagementObjectCollection collection = searcher.Get();

            int num = 1;
            foreach (ManagementObject obj in collection)
            {
                keyValues.Add("显卡名称" + num, obj["Caption"]);
                keyValues.Add("制造商" + num, obj["AdapterCompatibility"]);
                keyValues.Add("显存大小" + num, obj["AdapterRAM"] + " bytes");
                keyValues.Add("驱动版本" + num, obj["DriverVersion"]);
                num++;
            }
        }
        catch (Exception ex)
        {
            keyValues.Clear();
            keyValues.Add("获取显卡信息时出现异常", ex.Message);
        }
        return keyValues;
    }
    /// <summary>
    /// 获取声卡所有信息
    /// </summary>
    public static Dictionary<string, object> GetSoundDeviceInfo()
    {
        Dictionary<string, object> keyValues = new Dictionary<string, object>();
        try
        {
            ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_SoundDevice");
            ManagementObjectCollection collection = searcher.Get();

            int num = 1;
            foreach (ManagementObject obj in collection)
            {
                keyValues.Add("设备名称" + num, obj["Caption"]);
                keyValues.Add("制造商" + num, obj["Manufacturer"]);
                keyValues.Add("设备ID" + num, obj["DeviceID"]);
                num++;
            }
        }
        catch (Exception ex)
        {
            keyValues.Clear();
            keyValues.Add("获取声卡信息时出现异常", ex.Message);
        }
        return keyValues;
    }
    /// <summary>
    /// 获取网卡所有信息
    /// </summary>
    public static Dictionary<string, object> GetNetworkAdapterInfo()
    {
        Dictionary<string, object> keyValues = new Dictionary<string, object>();
        try
        {
            ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapter");
            ManagementObjectCollection collection = searcher.Get();

            int num = 1;
            foreach (ManagementObject obj in collection)
            {
                keyValues.Add("适配器名称" + num, obj["Name"]);
                keyValues.Add("制造商" + num, obj["Manufacturer"]);
                keyValues.Add("适配器类型" + num, obj["AdapterType"]);
                keyValues.Add("MAC 地址" + num, obj["MACAddress"]);
                keyValues.Add("是否启用" + num, obj["NetEnabled"]);
                num++;
            }
        }
        catch (Exception ex)
        {
            keyValues.Clear();
            keyValues.Add("获取网卡信息时出现异常", ex.Message);
        }
        return keyValues;
    }
    /// <summary>
    /// 获取键盘信息
    /// </summary>
    public static Dictionary<string, object> GetKeyboardInfo()
    {
        Dictionary<string, object> keyValues = new Dictionary<string, object>();
        try
        {
            ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Keyboard");
            ManagementObjectCollection collection = searcher.Get();

            int num = 1;
            foreach (ManagementObject obj in collection)
            {
                keyValues.Add("设备名称" + num, obj["Description"]);
                keyValues.Add("制造商" + num, obj["Manufacturer"]);
                keyValues.Add("设备ID" + num, obj["DeviceID"]);
                num++;
            }
        }
        catch (Exception ex)
        {
            keyValues.Clear();
            keyValues.Add("获取键盘信息时出现异常", ex.Message);
        }
        return keyValues;
    }
    /// <summary>
    /// 获取鼠标信息
    /// </summary>
    public static Dictionary<string, object> GetMouseInfo()
    {
        Dictionary<string, object> keyValues = new Dictionary<string, object>();
        try
        {
            ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PointingDevice");
            ManagementObjectCollection collection = searcher.Get();

            int num = 1;
            foreach (ManagementObject obj in collection)
            {
                keyValues.Add("设备名称" + num, obj["Description"]);
                keyValues.Add("制造商" + num, obj["Manufacturer"]);
                keyValues.Add("设备ID" + num, obj["DeviceID"]);
                num++;
            }
        }
        catch (Exception ex)
        {
            keyValues.Clear();
            keyValues.Add("获取键盘信息时出现异常", ex.Message);
        }
        return keyValues;
    }
    /// <summary>
    /// 获取显示器信息
    /// </summary>
    public static Dictionary<string, object> GetMonitorInfo()
    {
        Dictionary<string, object> keyValues = new Dictionary<string, object>();
        try
        {
            ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DesktopMonitor");
            ManagementObjectCollection collection = searcher.Get();

            int num = 1;
            foreach (ManagementObject obj in collection)
            {
                keyValues.Add("设备名称" + num, obj["Description"]);
                keyValues.Add("制造商" + num, obj["MonitorManufacturer"]);
                keyValues.Add("设备ID" + num, obj["DeviceID"]);
                num++;
            }
        }
        catch (Exception ex)
        {
            keyValues.Clear();
            keyValues.Add("获取显示器信息时出现异常", ex.Message);
        }
        return keyValues;
    }
}

2023/11/22

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值