系统管理、管理对象搜索器和 RAM

本文关键字:RAM 搜索器 对象 管理 系统管理 | 更新日期: 2023-09-27 17:56:01

我是编码的新手,我正在尝试制作一个简单的应用程序,在多行文本框中显示计算机信息,就像你一样。

因此,我

设法通过在注册表中搜索操作系统名称,版本等并使用system.environment来获取当前登录的用户,体系结构等,并且我使用ManagementObjectSearcher来获取我的CPU的名称以及我的总RAM。

我的

问题是我安装了 4 个记忆棒,所以虽然该应用程序在技术上通过返回每个记忆棒的总大小来满足我的要求,但我实际上只想要一个 16GB 的实例而不是 4GB 的 4 个实例。这是我使用的:

ManagementObjectSearcher search = new ManagementObjectSearcher("Select * From Win32_PhysicalMemory");
foreach (ManagementObject ram in search.Get())
            {
                txtSystemInfo.Text += "'r'nRAM: " + Convert.ToDouble(ram.GetPropertyValue("Capacity")) / 1073741824 + "GB";
        }

输出基本上看起来像这样:

Username: xxxx
OS: Windows x.x (arch)
Version: x.x Build xxxx
CPU: Intel blah blah
RAM: 4GB
RAM: 4GB
RAM: 4GB
RAM: 4GB

显然,我刚刚跳入了深渊,这可能就是为什么我无法点击这个,所以非常感谢任何帮助。

系统管理、管理对象搜索器和 RAM

只需在循环中增加一个总数,然后格式化和显示;

UInt64 total = 0;
foreach (ManagementObject ram in search.Get())
{
    total += (UInt64)ram.GetPropertyValue("Capacity");
}
txtSystemInfo.Text += "'r'nRAM: " + total / 1073741824 + "GB";