获取电脑硬件配置信息操作

本文提供了一种使用C#编程语言来获取计算机硬件信息的方法,包括硬盘空间、主机名、CPU ID 和硬盘 ID 等关键硬件信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

获取电脑硬件信息

using System;
using System.IO;
using System.Management;

public class HardwareInfoObj
    {
        #region 获取硬盘空间及剩余空间
        /// <summary> 获取指定驱动器的空间总大小(单位为B) ,只需输入代表驱动器的字母即可 </summary>
        public static long GetHardDiskSpace(string str_HardDiskName)
        {
            long totalSize = new long();
            str_HardDiskName = str_HardDiskName + ":\\";
            System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives();
            foreach (System.IO.DriveInfo drive in drives)
            {
                if (drive.Name == str_HardDiskName)
                {
                    totalSize = drive.TotalSize;
                    break;
                }
            }
            return totalSize;
        }

        /// <summary> 获取指定驱动器的剩余空间总大小(单位为B) ,只需输入代表驱动器的字母即可 </summary>
        public static long GetHardDiskFreeSpace(string str_HardDiskName)
        {
            long freeSpace = new long();
            str_HardDiskName = str_HardDiskName + ":\\";
            System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives();
            foreach (System.IO.DriveInfo drive in drives)
            {
                if (drive.Name == str_HardDiskName)
                {
                    freeSpace = drive.TotalFreeSpace;
                    break;
                }
            }
            return freeSpace;
        }

        /// <summary> 获取指定驱动器的剩余空间总大小(单位为K) ,只需输入代表驱动器的字母即可 </summary>
        public static long GetHardDiskFreeSpace_K(string str_HardDiskName)
        {
            return GetHardDiskFreeSpace(str_HardDiskName) / 1024;
        }

        /// <summary> 获取指定驱动器的剩余空间总大小(单位为M) ,只需输入代表驱动器的字母即可 </summary>
        public static long GetHardDiskFreeSpace_M(string str_HardDiskName)
        {
            return GetHardDiskFreeSpace_K(str_HardDiskName) / 1024;
        }

        /// <summary> 获取指定驱动器的剩余空间总大小(单位为G) ,只需输入代表驱动器的字母即可 </summary>
        public static long GetHardDiskFreeSpace_G(string str_HardDiskName)
        {
            return GetHardDiskFreeSpace_M(str_HardDiskName) / 1024;
        }
        #endregion

        #region 获取硬件信息
        /// <summary> 获取本地计算机的主机名 </summary>
        public static string GetHostName()
        {
            return Dns.GetHostName();
        }

        /// <summary> 获取CPU ID </summary>
        public static string GetCpuID()
        {
            string result;
            try
            {
                ManagementClass managementClass = new ManagementClass("Win32_Processor");
                ManagementObjectCollection instances = managementClass.GetInstances();
                string text = null;
                using (ManagementObjectCollection.ManagementObjectEnumerator enumerator = instances.GetEnumerator())
                {
                    if (enumerator.MoveNext())
                    {
                        ManagementObject managementObject = (ManagementObject)enumerator.Current;
                        text = managementObject.Properties["ProcessorId"].Value.ToString();
                    }
                }
                result = text;
            }
            catch (Exception)
            {
                result = "";
            }
            return result;
        }

        /// <summary> 获取硬盘ID </summary>
        public static string GetHardDiskID()
        {
            string result;
            try
            {
                ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher("SELECT   *   FROM   Win32_PhysicalMedia");
                string text = null;
                using (ManagementObjectCollection.ManagementObjectEnumerator enumerator = managementObjectSearcher.Get().GetEnumerator())
                {
                    if (enumerator.MoveNext())
                    {
                        ManagementObject managementObject = (ManagementObject)enumerator.Current;
                        text = managementObject["SerialNumber"].ToString().Trim();
                    }
                }
                result = text;
            }
            catch (Exception)
            {
                result = "";
            }
            return result;
        }
        #endregion
    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值