我已经阅读了关于这个问题的几乎完全相同的问题(WMI hardware, get RAM info),在这里我希望有关于这个主题的更多信息。
我需要获取各种硬件信息,如RAM序列号,硬盘SN,CPU SN等。我正在使用Visual C ++ 2010并使用WMI查询信息,但它没有给我我想要的东西。例如,我开始尝试获取RAM SN,并在查询之后(我使用了Win32_PhysicalMemory然后我获得了属性“SerialNumber”),我得到了
SerialNumber
SerNum0
SerNum1
显然不是这样。我也去了它的命令行(wmic memorychip get serialnumber),但我得到同样的东西。但我知道序列号在那里;当我使用第三方程序CPU-Z时,它可以完美地检索RAM序列号。
我告诉错误的班级吗?有什么我想念的吗?我尝试过我在其他多台计算机上制作的可执行文件,其成功和失败的结果不一样 - 但CPU-Z永远不会失败。我在Windows 7 64位计算机上使用Visual Studio C ++ 2010进行开发。感谢。
答案 0 :(得分:3)
WMI使用WMI提供程序获取数据,遗憾的是,有些制造商并未向这些提供商公开此类数据,因此您在此处运气不佳。如果您想要一种可靠的方法来获取序列号,制造商等内存信息,您可以像CPU-Z那样使用串行存在检测(SPD)。您可以从jedec站点获取与SPD相关的所有文档。