最近突然明白,vc++原来是可以获取底层电脑配置信息的,因此,很激动。希望就这方面的问题获得论坛的支持。
比如获取cpu的信息,可以是这样的,
CString temp;
__asm{
xor eax,eax
cpuid
mov dword ptr vendor_id,ebx
mov dword ptr vendor_id[+4],edx
mov dword ptr vendor_id[+8],ecx
}
m_CPUID.Format("%s-",vendor_id);
__asm{
mov eax,01h
xor edx,edx
cpuid
mov s1,edx
mov s2,eax
}
temp.Format("%08X-%08X-",s1,s2);
__asm{
mov eax,03h
xor ecx,ecx
xor edx,edx
cpuid
mov s1,edx
mov s2,ecx
}
temp.Format("%08X-%08X\n",s1,s2);
据说可以实现,可是我根本就不懂上边的代码,希望可以给我解释一下,或者告诉我一方法弄懂他。谢谢
!
比如获取cpu的信息,可以是这样的,
CString temp;
__asm{
xor eax,eax
cpuid
mov dword ptr vendor_id,ebx
mov dword ptr vendor_id[+4],edx
mov dword ptr vendor_id[+8],ecx
}
m_CPUID.Format("%s-",vendor_id);
__asm{
mov eax,01h
xor edx,edx
cpuid
mov s1,edx
mov s2,eax
}
temp.Format("%08X-%08X-",s1,s2);
__asm{
mov eax,03h
xor ecx,ecx
xor edx,edx
cpuid
mov s1,edx
mov s2,ecx
}
temp.Format("%08X-%08X\n",s1,s2);
据说可以实现,可是我根本就不懂上边的代码,希望可以给我解释一下,或者告诉我一方法弄懂他。谢谢
!
解决方案 »
- 对话框
- 我做的類似VC++的界面,現在我想把它改成將下面的信息窗口直接不要顯示在整個下面,而是在右邊窗口區域的下面??左邊直接就為一個樹列
- 请问,你们对孙鑫的VC++视频教学有什么看法?
- 请问在已经有了HBITMAP型的位图句柄后,如何使用CDC类得到其宽度和高度啊?
- 我在调用AcceptEx的时候总是出错,error code: 10038,error msg: 在一个非套接字上尝试了一个操作。
- 用vc怎么创建模式和无模式对话框?
- 如何在对话框内画圆并移动?
- small_wei(small) 来此
- 如何在VC中将二进制文件编译进.exe文件中,无界面
- VS2010旗舰版 代码目录下的 Debug 无法生成.exe文件,只有.obj文件。怎么才能让它生成.exe文件呢?谢谢。
- 字符串寻找问题
- 测试网络速度一般都怎样做?网络这块没弄过,恳请指点。
MOV EAX, 0x1
CPUID
} EAX返回CPU说明信息 0--3位 节率 (stepping)
4--7位 型号 (model)
8--11位 家族 (family) EDX各位返回特征标志字 0 FPU On-chip FPU
1 Virtual Mode Extension VME
2 Debugging Extension DE
3 Page Size Extension PSE
4 Time Stamp Counter TSC
5 RDMSR/WRMSR Instructions
6 Physical Address Extension PAE
7 Machine Check Exception MCE
8 CMPXCHG8B Instruction
9 On-chip APIC HardWare
10 Undefined
11 SYSENTER/SYSEXIT Instructions
12 Memory Type Range Registers
13 Page Global Enable PGE
14 Machine Check Architecture MCA
15 Conditional Move Instruction CMI
16 Page Attribute Table PAT
17--22 Undefined
23 MMX Instructions MMX
24 internet Streaming SIMD Extensions SSE
25 SSE2
26--31 Undefined 调用80000000号功能(EAX=0x80000000) 返回寄存器:
EAX返回最大功能号 调用功能号80000001 EAX返回CPU说明信息 0--3位 节率 (stepping)
4--7位 型号 (model)
8--11位 家族 (family) EDX各位返回特征标志字 0 FPU On-chip FPU
1 Virtual Mode Extension VME
2 Debugging Extension DE
3 Page Size Extension PSE
4 Time Stamp Counter TSC
5 RDMSR/WRMSR Instructions
6 Undefined
7 Machine Check Exception MCE
8 CMPXCHG8B Instruction
9 Undefined
10 Support SYSCALL and SYSRET instruction
11--12 Undefined
13 Page Global Enable PGE
14 Undefined
15 Conditional Move Instruction CMI
16--22 Undefined
23 MMX Instructions MMX
24 Cyrix Extended MMX
25--39 Undefined
30 AMD 3DNow Plus
31 AMD 3DNow*/
{}里面写汇编代码就行了