小弟:现在遇到一个问题,不知道如何编程实现获得机器内存条的个数,以及每条内存的容量等信息。

解决方案 »

  1.   

    兄弟,我现在也在寻类似的信息,给你个参考http://www.codeproject.com/KB/system/SimpleSetup.aspx
      

  2.   

    我最近也在关注这方面的信息,给你个参考http://www.codeproject.com/KB/system/SimpleSetup.aspx
      

  3.   

    应该可以用WMI实现,具体可参考MSDN的Example: Getting WMI Data From the Local Computer
    hres = pSvc->ExecQuery(
    bstr_t("WQL"), 
    bstr_t("SELECT * FROM Win32_MemoryDevice"),//可替换成,如Win32_OperatingSystem你要的
    WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, 
    NULL,
    &pEnumerator);      hr = pclsObj->Get(L"Name", 0, &vtProp, 0, 0);//可获得你要的属性,如Caption等
      

  4.   

    to:yxz_lpwmi的方式我已经实现了,现在需要用api的方式实现。非常感谢你的回复。
      

  5.   

    1、在NT/2K/XP中,我们还可以通过用户模式访问 \Device\PhysicalMemory 对象,通过系统核心文件NTDLL.DLL中的有关API进行操纵,从而实现物理内存的直接访问。通过解析内存数据表结构可以实现所说的功能。2、2003 sp1 以后的版本中,可以调用GetSystemFirmwareTable实现。3、wmi方式获取。可以通过读取ROOT\\WMI命名空间下的,MSSMBios_RawSMBiosTables获得要的数据。相关SMBIOS的更多信息,用google或baidu查找。………………微软建议使用wmi方式获取相关信息。
      

  6.   


    可以告诉我吗?谢谢   [email protected]