簡體   English   中英

如何獲取已安裝的 RAM 和 CPU 詳細信息 c#.Net Core?

[英]How I can get the installed RAM and CPU details c# .Net Core?

我需要以 GB 為單位的已安裝總 RAM 以及 CPU 詳細信息。 我看到很多與此相關的帖子。 但是,我不確定哪個適合我。 而且,我也嘗試了幾個例子,但它沒有提供預期的結果。

例如,我需要如下所示,

RAM 大小 = 16 GB

CPU = Intel(R) Core(TM) i5 3.20 GHz 2 核

注意:我不期望可用或使用的 memory。

更新:

要獲取 RAM 詳細信息,我使用了以下代碼

string Query = "SELECT MaxCapacity FROM Win32_PhysicalMemoryArray";
        ManagementObjectSearcher searcher123 = new ManagementObjectSearcher(Query);
        foreach (ManagementObject WniPART in searcher123.Get())
        {
            UInt32 SizeinKB = Convert.ToUInt32(WniPART.Properties["MaxCapacity"].Value);
            UInt32 SizeinMB = SizeinKB / 1024;
            UInt32 SizeinGB = SizeinKB / (1024 * 1024);
            Console.WriteLine("Size in KB: {0}, Size in MB: {1}, Size in GB: {2}", SizeinKB, SizeinMB, SizeinGB);
        }

但是,這給了我錯誤的數據(事實上,它給了 32 GB 而不是 16GB)

並且,要獲取 CPU 詳細信息

看起來您使用了錯誤的 class。 嘗試Win32_PhysicalMemory class 和Capacity屬性

var query = "SELECT Capacity FROM Win32_PhysicalMemory";
var searcher = new ManagementObjectSearcher(query);
foreach (var WniPART in searcher.Get())
{
    var capacity = Convert.ToUInt64(WniPART.Properties["Capacity"].Value);
    var capacityKB = capacity / 1024;
    var capacityMB = capacityKB / 1024;
    var capacityGB = capacityMB / 1024;
    System.Console.WriteLine("Size in KB: {0}, Size in MB: {1}, Size in GB: {2}", capacityKB, capacityMB, capacityGB);
}

MaxCapacity中的Win32_PhysicalMemoryArray屬性將為您提供機器上可安裝的最大 RAM 量,而不是實際安裝的 memory 量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM