// Get the ID number of IntelCPU:
Void Intelpuiddlg :: Onbuttoncpuid ()
{
UNSIGNED Long S1, S2;
Unsigned char vendor_id [] = "------------------";
CSTRING STR1, STR2, STR3;
__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
}
Str1.format ("% s", vendor_id);
__ASM // Get 32 digits of CPU ID
{
Mov Eax, 01h
XOR EDX, EDX
cpuid
Mov S2, EAX
}
Str2.format ("% 08x -", s2);
__ASM / / Low 64-bit in CPU ID
{
Mov Eax, 03h
XOR ECX, ECX
XOR EDX, EDX
cpuid
MOV S1, EDX
Mov S2, ECX
}
Str3.format ("% 08X-% 08X / N", S1, S2);
STR2 = STR3;
m_editvendor.SetWindowText (str1);
m_editcpuid.setwindowText (STR2);
}