• <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++
            国产精品美女久久久免费| 色综合久久88色综合天天| 丰满少妇高潮惨叫久久久| 久久久久亚洲AV无码专区网站| 国产激情久久久久影院老熟女免费| 久久精品久久久久观看99水蜜桃| 国产69精品久久久久99尤物 | 日韩欧美亚洲综合久久影院d3| 久久亚洲精品成人无码网站| 久久99热这里只有精品66| 人妻无码αv中文字幕久久 | 无码精品久久一区二区三区| 久久精品国产99国产电影网 | 亚洲中文字幕无码久久综合网| 国产精品久久久久久久久久免费| 97超级碰碰碰久久久久| 伊人热热久久原色播放www| 亚洲国产欧洲综合997久久| 国内精品久久国产大陆| 青青草原综合久久大伊人导航| 久久久这里有精品| 亚洲国产精品久久久久网站| 久久99久国产麻精品66| 亚洲狠狠综合久久| 久久夜色精品国产欧美乱| 久久噜噜久久久精品66| 久久99国产亚洲高清观看首页| 久久综合九色综合久99| 97精品国产91久久久久久| 国产精品久久婷婷六月丁香| 久久夜色tv网站| 久久久久久午夜成人影院| 一级做a爰片久久毛片毛片| 成人午夜精品久久久久久久小说| 久久久久成人精品无码中文字幕 | 青青草原综合久久大伊人导航| 国产V亚洲V天堂无码久久久| 中文精品99久久国产| 久久久久国产一区二区三区| 99久久99久久精品国产片| 国产亚洲婷婷香蕉久久精品|