如何获得CPU型号等信息

zhyanbadboy 2011-05-09 10:17:41
例如我的机器是Intel(R) Core(TM)2 Duo CPU E7500 @2.93GHz
如何获得这些信息,GetSystemInfo获得的似乎不全。
最好能给出示例,谢了~
...全文
793 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
自然兰亭 2011-10-28
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 zhyanbadboy 的回复:]

搞定了,不过还是感谢楼上,试了一下也没问题。
结帖了。
[/Quote]
楼主的怎么做的啊?说一下吧
龙行天下之Sky 2011-05-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lfs09 的回复:]

引用 1 楼 lfs09 的回复:
你用 wmi cimv2 space 里面的 WIN32_PROCESSOR
就可以看到详细点的cpu信息

另外,你可以用cpuid指令获取。至于cpuid相关信息,你最好有cpu的datasheet


google cpuid 然后会搜索到microsoft 的一个sample code
然后看那个文件...

如果你是用vc++ ……
[/Quote]
顶一个
你妹的特盗不 2011-05-09
  • 打赏
  • 举报
回复
还有,不是很详细的资料,可以向dmi要,开机的时候,bios会把硬件相关信息写到dmi区域.....
你妹的特盗不 2011-05-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zhyanbadboy 的回复:]
引用 6 楼 lfs09 的回复:

引用 1 楼 lfs09 的回复:
你用 wmi cimv2 space 里面的 WIN32_PROCESSOR
就可以看到详细点的cpu信息

另外,你可以用cpuid指令获取。至于cpuid相关信息,你最好有cpu的datasheet


google cpuid 然后会搜索到microsoft 的一个sample code
然后看那个……
[/Quote]

老大,我不知道LINUX的 WMI,我只知道 windows下面的wmi,如果你要用linux下面,应该可以向系统要到,或者用cpuid...........比如 amd cpu与intel cpu cache 的算法是不一样的,你得分别计算...这个需要有cpu datasheet,intel的可以上intel网站下载那三本书,里面有详细介绍,AMD的,我不知道哪有下载,我的是内部资料
zhyanbadboy 2011-05-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lfs09 的回复:]

引用 1 楼 lfs09 的回复:
你用 wmi cimv2 space 里面的 WIN32_PROCESSOR
就可以看到详细点的cpu信息

另外,你可以用cpuid指令获取。至于cpuid相关信息,你最好有cpu的datasheet


google cpuid 然后会搜索到microsoft 的一个sample code
然后看那个文件...

如果你是用vc++ ……
[/Quote]

哦,谢谢啊,我是在VC++下写的。那linux下可以用这个东西吗,将来可能要移植到Linux上去。
你妹的特盗不 2011-05-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lfs09 的回复:]
你用 wmi cimv2 space 里面的 WIN32_PROCESSOR
就可以看到详细点的cpu信息

另外,你可以用cpuid指令获取。至于cpuid相关信息,你最好有cpu的datasheet
[/Quote]

google cpuid 然后会搜索到microsoft 的一个sample code
然后看那个文件...

如果你是用vc++ 的话

msdn中搜索 IWbemClassObject
然后有个链接,Creating and Declaring an Instance Using C++
点进去就有代码,怎么访问 wmi,如果你是c#语言,那就简单了。。。。
fangchao918628 2011-05-09
  • 打赏
  • 举报
回复
WMI百度下,结构基本一样,找个实例看下就知道了!
也可以看下CPU_Z,不过貌似这个源码接口需要钱的
nakedavril 2011-05-09
  • 打赏
  • 举报
回复

int main()
{
SYSTEM_INFO SysInfo;
GetSystemInfo(&SysInfo);
cout<<SysInfo.dwNumberOfProcessors<<endl;
cout<<SysInfo.dwProcessorType<<endl;
cout<<SysInfo.dwActiveProcessorMask<<endl;
cout<<SysInfo.dwAllocationGranularity<<endl;
cout<<SysInfo.dwOemId<<endl;
cout<<SysInfo.dwPageSize<<endl;
cout<<SysInfo.lpMaximumApplicationAddress<<endl;
cout<<SysInfo.lpMinimumApplicationAddress<<endl;
cout<<SysInfo.wProcessorArchitecture <<endl;
cout<<SysInfo.wProcessorLevel <<endl;
cout<<SysInfo.wProcessorRevision<<endl;
cout<<SysInfo.wReserved<<endl;
return 0;
}
zhyanbadboy 2011-05-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lfs09 的回复:]

你用 wmi cimv2 space 里面的 WIN32_PROCESSOR
就可以看到详细点的cpu信息

另外,你可以用cpuid指令获取。至于cpuid相关信息,你最好有cpu的datasheet
[/Quote]

没用过WMI,不知道怎么用。。有没有其他API或方法可以获得的?
你妹的特盗不 2011-05-09
  • 打赏
  • 举报
回复
你用 wmi cimv2 space 里面的 WIN32_PROCESSOR
就可以看到详细点的cpu信息

另外,你可以用cpuid指令获取。至于cpuid相关信息,你最好有cpu的datasheet
zhyanbadboy 2011-05-09
  • 打赏
  • 举报
回复
搞定了,不过还是感谢楼上,试了一下也没问题。
结帖了。
hotpos 2011-05-09
  • 打赏
  • 举报
回复

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
}
}

int _tmain(int argc, _TCHAR* argv[])
{
char cpuName[64] = {0};
int (*pTmp)[4] = (int(*)[4])cpuName;

GetCPUInfo(*pTmp++, 0x80000002);
GetCPUInfo(*pTmp++, 0x80000003);
GetCPUInfo(*pTmp++, 0x80000004);

printf("%s\n", cpuName);

return 0;
}

zhyanbadboy 2011-05-09
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 lfs09 的回复:]

引用 7 楼 zhyanbadboy 的回复:
引用 6 楼 lfs09 的回复:

引用 1 楼 lfs09 的回复:
你用 wmi cimv2 space 里面的 WIN32_PROCESSOR
就可以看到详细点的cpu信息

另外,你可以用cpuid指令获取。至于cpuid相关信息,你最好有cpu的datasheet


google cpuid 然后会搜索到micro……
[/Quote]

牛人啊,不过你说的这些东西都没有接触过。。我只是想获得CPU的那几样信息罢了,还这么复杂啊。大神能不能给段示例代码啊,非常感谢。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧