获取cpu信息
class CCPU
{
public:
long IsMMX();
long IsEST();
long IsHyperThreading();
void GetBrand(char* szBrand);
void GetVID(char* szVid);
long GetSerialNumber(char* szSerial);
void Executecpuid(DWORD veax);
DWORD m_edx;
DWORD m_ecx;
DWORD m_ebx;
DWORD m_eax;
public:
CCPU();
virtual ~CCPU();
};
//////////////////
void CCPU::Executecpuid(DWORD veax)
{
DWORD deax;
DWORD debx;
DWORD decx;
DWORD dedx;
__asm
{
mov eax, veax ;将输入参数移入eax
cpuid ;执行cpuid
mov deax, eax ;以下四行代码把寄存器中的变量存入临时变量
mov debx, ebx
mov decx, ecx
mov dedx, edx
}
m_eax = deax; // 把临时变量中的内容放入类成员变量
m_ebx = debx;
m_ecx = decx;
m_edx = dedx;
}
//DEL char CCPU::GetSerialNumber(char *szSerial)
//DEL {
//DEL
//DEL
//DEL }
long CCPU::GetSerialNumber(char* szSerial)
{