我对编码非常陌生,我正在尝试制作一个简单的应用程序,在多行文本框中显示计算机信息,就像你做的那样。
因此,我在注册表中搜索os名称、版本等,并使用system.environment获取当前登录的用户、体系结构等,从而获得了基本知识;我使用ManagementObjectSearcher获取了我的cpu的名称以及我的全部ram。
我的问题是,我已经安装了4个记忆棒,所以在技术上这个应用通过返回每个记忆棒的总大小来满足我的要求,实际上我只想要一个16 4GB的实例,而不是4个4GB的实例。这就是我所用的:
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显然,我只是跳到了深端,这可能就是为什么我不能让这个点击,所以任何帮助都是非常感谢的。
发布于 2015-06-14 16:55:42
只需在循环中增加一个总数,然后格式化和显示;
UInt64 total = 0;
foreach (ManagementObject ram in search.Get())
{
total += (UInt64)ram.GetPropertyValue("Capacity");
}
txtSystemInfo.Text += "\r\nRAM: " + total / 1073741824 + "GB";https://stackoverflow.com/questions/30830539
复制相似问题