• C#获取CPU/主板/硬盘/电脑名称


    using System.Management;

    public class IdentificationClass
    {

    public string? CPU { get; set; }
    
    public string? ComputerName { get; set; }
    
    public string? MainBoard { get; set; }
    
    public string? HardDisk { get; set; }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    }

    public class Computer
    {

    private const string QueryString = "Select SerialNumber From Win32_BaseBoard";
    private const string CPUQueryString = "Select ProcessorId From Win32_processor";
    
    public static IdentificationClass GetComputerInfo()
    {
        // Name
        IdentificationClass identification = new IdentificationClass();
        identification.ComputerName = Environment.MachineName;
    
        // 硬盘
        ManagementObject obp = new ManagementObject(@"Win32_LogicalDisk.deviceid=""c:""");
        obp.Get();
        identification.HardDisk = obp["VolumeSerialNumber"].ToString();
    
        // 主板
        ManagementObjectSearcher management = new ManagementObjectSearcher(QueryString);
        ManagementObjectCollection baseObjects = management.Get();
        string id = string.Empty;
        foreach (ManagementObject mo in baseObjects)
        {
            id = mo["SerialNumber"].ToString();
            break;
        }
        identification.MainBoard = id;
    
        // cpu
        ManagementObjectSearcher cpuManage = new ManagementObjectSearcher(CPUQueryString);
        ManagementObjectCollection cmpu = cpuManage.Get();
        string cid = string.Empty;
        foreach (ManagementObject mou in cmpu)
        {
            cid = mou["ProcessorId"].ToString();
            break;
        }
        identification.CPU = cid;
        return identification;
    }
    
    public static void Main()
    {
        var cm = GetComputerInfo();
        Console.WriteLine(cm.MainBoard);
        Console.WriteLine(cm.ComputerName);
        Console.WriteLine(cm.HardDisk);
        Console.WriteLine(cm.CPU);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46

    }

  • 相关阅读:
    【C++刷题】优选算法——模拟
    循环神经网络不常应用于,循环神经网络应用举例
    Ansible 简介安装
    DETR:End-to-End Object Detection with Transformers阅读笔记
    【DevOps】Docker 容器及其常用命令
    MATLAB绘图中文显示为方框
    程序员的晋升困境
    Motifs与Graphlets
    【USRP】产品型号、参数、架构全解析系列 1:B200 / B210 / B200mini / B205mini
    setState到底是异步还是同步?
  • 原文地址:https://blog.csdn.net/ProteaCynaroides/article/details/126324973