[C#] 獲取電腦內部信息 - ComputerInfoHelper

来源:http://www.cnblogs.com/liqingwen/archive/2017/09/04/7473227.html
-Advertisement-
Play Games

獲取電腦內部信息 - ComputerInfoHelper 一、代碼 ComputerInfoHelper.cs ManagementBaseObjectPropertyName.cs WmiPath.cs 二、測試 1.電腦硬碟信息 2.我的電腦中的硬碟信息 3.測試代碼 4.輸出結果: 所有硬 ...


獲取電腦內部信息 - 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 ,具體容量可參考此公式計算。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 內容提供者 參考: Android四大組件之內容提供者--ContentProvider - java小兵 - CSDN博客http://blog.csdn.net/wodewutai17quiet/article/details/46670597 Android四大組件之內容提供者--Conten ...
  • 在Android開發中難免會遇到大量的數據載入到ListView中進行顯示, 然後其中最重要的數據傳遞橋梁Adapter適配器是常用的,隨著市場的需 求變化ListView'條目中的內容是越來越多這就需要程式員來自定義適配器, 而關鍵的就是適配器的優化問題,適配器沒有優化好往往就會造成OOM (記憶體 ...
  • 本文主要介紹json最原始的解析與google提供的gson工具類解析 ①json解析 ②gson解析 1)首先在AndroidStudio中安裝一個GsonFormat插件 2)新建一個javaben類然後按下組合鍵alt+insert 把完整的json數據拷貝到編輯框中 3)添加gson的依賴包 ...
  • Android的版本有很多通常開發的時候對話框大多數使用自定義或是 Google提供的V4, V7 相容包來開發保持各個版本的對話框樣式統一,所以這裡使用的是V7 包里的AlertDialog。 ...
  • 中文翻譯文檔: http://blog.csdn.net/rickiyeat/article/details/56483577 版本說明: Jquery v2.1.1 Bootstrap V3.3.7 bootstrap-table V1.11.1 一、視圖頁 1 <!DOCTYPE html> 2 ...
  • C#中Cookies的讀取 鏈接: 一 、寫入Cookie 1. Name 和 Value 屬性由程式設定,預設值都是空引用。 2. Domain屬性的預設值為當前URL的功能變數名稱部分,不管發出這個cookie的頁面在哪個目錄下的。 例如, http://www.kent.com/application ...
  • Cookie客戶端緩存。 1、引言 隨著瀏覽器的處理能力不斷增強,越來越多的網站開始考慮將數據存儲在「客戶端」,那麼久不得不談本地存儲了。 本地存儲的好處: 一是避免取回數據前頁面一片空白,如果不需要最新數據也可以減少向伺服器的請求次數,從而減少用戶等待從服務端獲取數據的時間。 二是網路狀態不佳時仍 ...
  • 本文是要寫的下篇《C#反射及優化用法》的前奏,不能算是下一篇文章的基礎的基礎吧,有興趣的朋友可以關註一下。 隨著C#的發展,該語言內容不斷豐富,開發變得更加方便快捷,C# 的鋒利盡顯無疑。C# 語言從誕生起就是強類型語言,這一性質到今天不曾改變,我想以後也不會變。既然是強類型語言,那編寫任一程式均要 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...