• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-167  評論-8  文章-0  trackbacks-0

            #include "windows.h" 
            #include "iostream"
            #include "string"

            using namespace std;

            //用來存儲信息
            DWORD deax;
            DWORD debx;
            DWORD decx;
            DWORD dedx;

            void ExeCPUID(DWORD veax)//初始化CPU
            {
            __asm
            {
               mov eax,veax
                cpuid
                mov deax,eax
                mov debx,ebx
                mov decx,ecx
                mov dedx,edx
            }
            }

            long GetCPUFreq()//獲取CPU頻率,單位: MHZ
            {
            int start1,start2;
            _asm rdtsc
               _asm mov start1,eax
               Sleep(50);
            _asm rdtsc
               _asm mov start2,eax
               return (start2-start1)/50000;
            }

            string GetManID()//獲取制造商信息
            {
            char ID[25];//存儲制造商信息
            memset(ID,0,sizeof(ID));//先清空數組 ID
            ExeCPUID(0);//初始化
            memcpy(ID+0,&debx,4);//制造商信息前四個字符復制到數組
            memcpy(ID+4,&dedx,4);//中間四個
            memcpy(ID+8,&decx,4);//最后四個
            //如果返回 char * ,會出現亂碼;故返回 string 值
            return string(ID);
            }

            string GetCPUType()
            {
            const DWORD id = 0x80000002; //從0x80000002開始,到0x80000004結束
            char CPUType[49];//用來存儲CPU型號信息
            memset(CPUType,0,sizeof(CPUType));//初始化數組

            for(DWORD t = 0 ; t < 3 ; t++ )
            {
               ExeCPUID(id+t);
               //每次循環結束,保存信息到數組
               memcpy(CPUType+16*t+ 0,&deax,4);
               memcpy(CPUType+16*t+ 4,&debx,4);
               memcpy(CPUType+16*t+ 8,&decx,4);
               memcpy(CPUType+16*t+12,&dedx,4);
            }

            return string(CPUType);
            }

            void main() 
            { 
            cout<<"本機CPU信息如下:"<<endl;
            cout<<"CPU 主 頻: "<<GetCPUFreq()<<" MHZ"<<endl;
            cout<<"CPU 制造商: "<<GetManID()<<endl;
            cout<<"CPU 型 號: "<<GetCPUType()<<endl;
            cin.get();

            }

            posted on 2011-11-30 10:19 老馬驛站 閱讀(1234) 評論(0)  編輯 收藏 引用 所屬分類: c++
            久久精品一区二区三区不卡| 色综合久久无码五十路人妻| 天天躁日日躁狠狠久久| 要久久爱在线免费观看| 人妻中文久久久久| 一级做a爰片久久毛片免费陪| 国产亚洲精午夜久久久久久| 精品乱码久久久久久夜夜嗨| 91亚洲国产成人久久精品网址| 久久精品国产亚洲网站| 国产免费福利体检区久久| 久久久久久亚洲精品不卡| 中文精品99久久国产 | 精品久久综合1区2区3区激情| 久久国产精品久久精品国产| 国产精品成人99久久久久91gav| 精品人妻伦九区久久AAA片69| 日韩精品无码久久一区二区三| 久久久久久久波多野结衣高潮| 日本人妻丰满熟妇久久久久久| AV狠狠色丁香婷婷综合久久 | 久久久久久曰本AV免费免费| 无码AV中文字幕久久专区| 久久99精品国产99久久6男男| 久久99精品国产麻豆蜜芽| 99久久综合国产精品免费| 韩国三级大全久久网站| 亚洲一区精品伊人久久伊人| 国产精品久久久天天影视| 香蕉99久久国产综合精品宅男自| 无码专区久久综合久中文字幕| 国产精品成人99久久久久| 亚洲国产另类久久久精品| 国产精品va久久久久久久| 久久亚洲国产成人精品性色| 久久久WWW成人| 色婷婷综合久久久久中文一区二区| 久久99精品免费一区二区| 久久99精品国产麻豆宅宅| 五月丁香综合激情六月久久| 无码人妻少妇久久中文字幕|