[C#] 获取计算机内部信息

获取计算机内部信息 - ComputerInfoHelper

一、代码

  ComputerInfoHelper.cs

    /// <summary>
    /// 计算机信息助手类
    /// </summary>
    public class ComputerInfoHelper
    {
        /// <summary>
        /// 获取硬盘容量汇总
        /// </summary>
        public static long GetTotalDiskSize()
        {
            try
            {
                var diskDriveManagement = new ManagementClass(WmiPath.DiskDrive);
                var diskDriveManagementInstances = diskDriveManagement.GetInstances();

                return diskDriveManagementInstances.OfType<ManagementObject>()
                    .Select(managementObject => Convert.ToInt64(managementObject[ManagementBaseObjectPropertyName.Size]))
                    .Aggregate<long, long>(0, (current, diskSize) => diskSize + current);
            }
            catch(Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
    }

 

  ManagementBaseObjectPropertyName.cs

namespace Wen.Helpers.Common.Computer.Config
{
    public class ManagementBaseObjectPropertyName
    {
        /// <summary>
        /// 名称
        /// </summary>
        public const string Name = "Name";

        /// <summary>
        /// 显卡芯片
        /// </summary>
        public const string VideoProcessor = "VideoProcessor";

        /// <summary>
        /// 显存大小
        /// </summary>
        public const string AdapterRam = "AdapterRAM";

        /// <summary>
        /// 分辨率宽
        /// </summary>
        public const string ScreenWidth = "ScreenWidth";

        /// <summary>
        /// 分辨率高
        /// </summary>
        public const string ScreenHeight = "ScreenHeight";

        /// <summary>
        /// 电脑型号
        /// </summary>
        public const string Version = "Version";

        /// <summary>
        /// 硬盘容量
        /// </summary>
        public const string Size = "Size";

        /// <summary>
        /// 内存容量
        /// </summary>
        public const string Capacity = "Capacity";

        /// <summary>
        /// cpu 核心数
        /// </summary>
        public const string NumberOfCores = "NumberOfCores";
    }
}

 

  WmiPath.cs

namespace Wen.Helpers.Common.Computer.Config
{
    public class WmiPath
    {
        /// <summary>
        /// 内存
        /// </summary>
        public const string PhysicalMemory = "Win32_PhysicalMemory";

        /// <summary>
        /// cpu
        /// </summary>
        public const string Processor = "Win32_Processor";

        /// <summary>
        /// 硬盘
        /// </summary>
        public const string DiskDrive = "win32_DiskDrive";

        /// <summary>
        /// 电脑型号
        /// </summary>
        public const string ComputerSystemProduct = "Win32_ComputerSystemProduct";

        /// <summary>
        /// 分辨率
        /// </summary>
        public const string DesktopMonitor = "Win32_DesktopMonitor";

        /// <summary>
        /// 显卡
        /// </summary>
        public const string VideoController = "Win32_VideoController";

        /// <summary>
        /// 操作系统
        /// </summary>
        public const string OperatingSystem = "Win32_OperatingSystem";
    }
}

 

二、测试

  1.电脑硬盘信息

 

   2.我的电脑中的硬盘信息

   3.测试代码

   4.输出结果:

 

 

   所有硬盘及 U 盘和存储卡,因生产厂家的计算方式和操作系统的计算方式不一样,前者按 1MB = 1000KB 计算,后者按 1MB = 1024KB 计算,所以,实际在电脑中看到的容量会与厂商标称的容量有一定的差异,其中规律为 1G = 0.93G (约等于),比如 100G,实际为 100G * 0.93 = 93G ,具体容量可参考此公式计算。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值