现在获取到的处理器型号为 INTEL(R) CORE(TM)2 QUAD CPU    Q8300  @ 2.50GHZ和
                         INTEL(R) CORE(TM)i3-2100 CPU @ 3.10GHZ 3.10GHZ, 
现在的问题是如何获取其中的 Q8300 和 i3-2100

解决方案 »

  1.   

    cpuid 
    用这个来获取。。地址 0x80000004
      

  2.   

    void GetCPUInfo(int cpuinfo[4], int tp)
     {
      __asm
      {
      mov eax, tp
      cpuid
      mov edi, cpuinfo
      mov dword ptr [edi], eax
      mov dword ptr [edi+4], ebx
      mov dword ptr [edi+8], ecx
      mov dword ptr [edi+12], edx
      }
     }
     
     //CPU型号
     __declspec(dllexport) char* GetCPUID()
     {
      char cpuName[1024] = {0};
      int (*pTmp)[4] = (int(*)[4])cpuName;
     
      GetCPUInfo(*pTmp++, 0x80000002);
      GetCPUInfo(*pTmp++, 0x80000003);
      GetCPUInfo(*pTmp++, 0x80000004);
    _strupr_s(cpuName);
    return cpuName;
     }
    这是我在网上找到的,获取的是上面完整的,不知道怎么从中获取 Q8300,拆了好半天没拆出来
      

  3.   

    INTEL(R) CORE(TM)2 QUAD CPU Q8300 @ 2.50GHZ解析出Q8300,就是先查到CPU,再查到后面的空格 ,再取2个空格之间的字符串
      

  4.   

    WMI获取硬件信息WMI方法
      

  5.   

    这种方法不行,我试过,我要的是在不同电脑中 都能获取到,而且每台电脑的CPU型号也不相同,截取不到。
      

  6.   

    用这个获取到的CPU型号都不对,还怎么去拆啊
      

  7.   

    一堆人不仔细看题,
    楼主可以获取到CPU型号,但他想从字符中剥离出特定的字符串.
      

  8.   

    就是这样的,就因为不同电脑获取的CPU型号不同,剥离出来的字符串就不是我想要的,现在就是问问有什么办法可以获取到。例如 INTEL(R) CORE(TM)2 QUAD CPU Q8300 @ 2.50GHZ要剥离出 Q8300 
    而 INTEL(R) CORE(TM)i3-2100 CPU @ 3.10GHZ 3.10GHZ 就要剥离出 i3-2100