[C#] 擷取電腦內部資訊 - ComputerInfoHelper

來源:互聯網
上載者:User

標籤:cores   img   system   mon   tcl   int   匯總   技術分享   roc   

擷取電腦內部資訊 - 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.輸出結果:

 

 

   所有硬碟及 USB 磁碟機和儲存卡,因生產廠家的計算方式和作業系統的計算方式不一樣,前者按 1MB = 1000KB 計算,後者按 1MB = 1024KB 計算,所以,實際在電腦中看到的容量會與廠商標稱的容量有一定的差異,其中規律為 1G = 0.93G (約等於),比如 100G,實際為 100G * 0.93 = 93G ,具體容量可參考此公式計算。

[C#] 擷取電腦內部資訊 - ComputerInfoHelper

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.