如何获取已安装的 RAM 和 CPU 详细信息 c# .Net Core?
How I can get the installed RAM and CPU details c# .Net Core?
我需要以 GB 为单位的安装总 RAM 以及 CPU 详细信息。我看到很多 post 与此相关。但是,我不确定哪个适合我。而且,我也尝试了几个例子,但没有提供预期的结果。
例如我需要如下,
RAM 大小 = 16 GB
CPU = 英特尔(R) 酷睿(TM) i5 3.20 GHz 2 核
注意:我不希望有可用或已用内存。
更新:
为了获取 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)
看来您用错了 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);
}
Win32_PhysicalMemoryArray
class 中的 MaxCapacity
属性 将为您提供计算机上可安装的最大内存量,而不是实际安装的内存量.
我需要以 GB 为单位的安装总 RAM 以及 CPU 详细信息。我看到很多 post 与此相关。但是,我不确定哪个适合我。而且,我也尝试了几个例子,但没有提供预期的结果。
例如我需要如下,
RAM 大小 = 16 GB
CPU = 英特尔(R) 酷睿(TM) i5 3.20 GHz 2 核
注意:我不希望有可用或已用内存。
更新:
为了获取 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)
看来您用错了 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);
}
Win32_PhysicalMemoryArray
class 中的 MaxCapacity
属性 将为您提供计算机上可安装的最大内存量,而不是实际安装的内存量.