如何使用VC获取CPU序列号

解决方案 »

  1.   

    #include <stdio.h>
    #include <conio.h>int main(int argc,char **argv)
    {
    unsigned long s1,s2;
    unsigned char vendor_id[]="------------";
    char sel;
    printf("Select the function:\n1-------Read CPU id.\n2-------Disable CPU id.\n");
    sel=getch();
    switch(sel)
    {
    case '1':
    __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
    }
    printf("%s-",vendor_id);
    __asm{
    mov eax,01h
    xor edx,edx
    cpuid
    mov s1,edx
    mov s2,eax
    }
    printf("%08X\n%08X-",s1,s2);
    __asm{

    mov eax,03h
    xor ecx,ecx
    xor edx,edx
    cpuid
    mov s1,edx
    mov s2,ecx
    }
    printf("%08X-%08X\n",s1,s2);
    break;
    case '2':
    {
    __asm{

    mov ecx,119h
    rdmsr
    or eax,00200000h
    wrmsr
    }
    }
    printf("CPU id is disabled.\n");
    break;
    }
    return 0;
    }
      

  2.   

    谢谢
     masterz(MS MVP)
      

  3.   

    谢谢
     masterz(MS MVP)