C语言读取计算机CPU的序列号、硬盘(网卡、机器名)

C语言读取计算机CPU的序列号、硬盘(网卡、机器名),第1张

说实话,我在图书馆里看过一本叫《C语言编程实战105例》的一本书,是半年前看的,那里面有相关的代码,但是你要CPU号这种高级的东东就不好办了。我从昨天开始想你的问题。也没有什么进展,就到网上就找了找,发现网上有关于这方面的贴子,但那位高手用的是linux的环境做的,在win下不能运行,

>

2 要在C语言中执行dos命令,一般使用system("wmic cpu get ProcessorId");

3 由于获取到的cpu编码是打印在命令行中的,要获取结果用system就无法实现了。这时可以用windows提供的_popen函数。该函数的功能为,执行一段dos命令,并将程序运行结果(原本的dos打印)保存在内存中,可以通过文件方式读取。

于是,代码如下:

#include <stdioh>

#include <stdlibh>

int main( void )

{

   char   psBuffer[128];

   FILE   pPipe;

   if( (pPipe = _popen( "wmic cpu get ProcessorId", "rt" )) == NULL )

      exit( 1 );//执行失败,退出程序。

 

   while(fgets(psBuffer, 128, pPipe))//读取结果,并输出。

   {

      printf(psBuffer);

   }

 

 

   / 关闭执行标识。本质上是释放这段内存。 /

    _pclose( pPipe );

    

    return 0;

}

楼主,不好意思,我来回答吧,如果getsysteminfo得到的还是不够

详细,(应该是这样的,因为cpu的研发是每几个月就有变化,新的

特性不断的被开发出来)

那么我再给你讲一个全面的做法,这样你就可以得到所有的cpu信息:

cpu的信息是放在注册表中的,(任何硬件的信息在注册表当中都有登记)

他的位置:HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0

这里面包含CPU各项信息

所以你要知道读写注册表的vb的api函数:RegOpenKey,RegQueryValue以及

RegQueryValueEx这几个函数。

如果这样来做,编程就非常的简单,你可以试一试,

除此之外,如果在vb6当中不嵌入c或汇编,vb6之中这是不可能完成的任务

产地是马来西亚CPU 950(主频)/100(外频)/128(二级缓存)/175(电压)

CPU的编号是印在CPU表面的一些字母和数字。对于多数普通用户来说,可能以前没有怎么留意CPU上面的编号,但对于那些超频爱好者来说,CPU的编号十分重要。其实,不仅仅是超频用户,对于一般用户来说了解一下CPU的编号很有用,可以知道许多关于CPU的信息,今天就带大家认识一下CPU编号的含义。

一、认识篇

1Intel篇

我们先以Intel的现在的主流CPU P4为例子说明CPU编号代表的含义。下图是一块P4 17G的CPU,让我们仔细看看上面的编号。

第1、2行:Intel Pentium 4,即P4处理器。

第3行:17GHz/256/400/175V,分别表示处理器工作频率/L2高速缓存大小/前端总线频率/工作电压,因此这是一颗17GHz、L2高速缓存有256KB、前端总线400MHz、工作电压175V的P4。关于处理器的工作电压,早期推出的有17V,而现在从14~2GHz的都是175V了。

第4行:SL57V MALAY,SL57V表示处理器的S-Spec编号,从这个编号也可以查出处理器的其他指标,是否盒装也是靠这个编号来识别的。S-Spec编号后面是生产的产地,这个处理器是马来西亚生产的,此外还有COSTA RICA(哥斯达黎加)等其他地区。

第5行:L118A981-0023,表示产品的序列号,这是一个全球唯一的序列号,每个处理器的序列号都不相同,区域代理在进货时会登记这个编号,从这个编号也可以了解处理器到底是经过什么渠道进入零售或品牌机市场的。

第6行:I,产品注册标志(Intel)。

再让我们看看赛扬的编号含义。下图是一块赛扬II 533CPU的编号。

第1行:celeron(tm)/ MALAY,就是赛扬处理器,MALAY表示产地,这块CPU的产地也是马来西亚的。

第2行:533A/128/66/15V,分别表示处理器工作频率/L2缓存大小/前端总线频率/工作电压,因此这是一颗533MHz、L2缓存有128KB、前端总线66MHz、工作电压1 5V的赛扬。

第3行:Q013A307-0389 SL46S其中“Q”代表的是产地,后面的013代表的是生产的年份和周次,这里面的0代表是2000年(依此类推1,就是2001年……)13代表第13周。接下来的那段307-0389是CPU的内部序列号,这个编号有点类似我们日常生活中用到的身份z号,它是全球唯一的一组数字,不会有重复,因此每款CPU的编号都不同。最后的“SL46S”代表的是CPU的制作工艺,其中利用cC0制作工艺的CPU超频能力明显强于cB0制作工艺的CPU,其中大部分cC0制作工艺的CPU采用SL4作为其编号,当然也有早期的cB0制作工艺CPU采用这个编号。

2AMD篇

其实AMD的CPU上面所记载的编号信息和Intel差不多,它们都是记载着诸如主频多少、是什么系列的CPU、缓存容量多大、额定电压是多大、封装方式、产地、生产日期等等信息,只是因为CPU所属公司的不同,AMD的CPU和Intel的CPU在信息上缩记的方式也就不尽相同。下图用一块AMD的CPU来举例。

第1行:AMD Athlon(TM),就是AMD Athlon。

第2行:A1000AMT3C,A代表这款CPU是Thunderbird,如果是D在代表这款CPU是Duron,如果是AX则代表这款CPU是Athlon XP;后面的1000代表的是这款CPU的主频是1G;1000后面的A代表CPU的封装方式,A是PGA封装;后面的M代表CPU的核心电压,其中M是175V,其它的如S是15V、U是16V、P是17V、N是18V;M后面的T代表的是CPU的工作温度,其中T是90℃、Q是60℃、X是65℃、R是70℃、Y是75℃、S是95℃;在T后面的3是二级缓存的容量,其中3代表256K,如果是1则为64K、2是128K;在3后面的C代表的是前端总线,其中C是266MHz,如果是A或者B的话则为200MHz。

第3行:AXIA0117MPMW,AMD CPU生产线上的编号。

第4行:Y6278750317,这个Y大部分的用户认为与超频有关,这个Y有可能被9、F和Z等字母或数字所代替,但是很多测试表明如果在这个Y的位置出现的是字母,那么这块CPU的超频能力应该很强。

二、总结篇

下面是Intel和AMD CPU部分编号的含义:

1Intel PII编号格式:

W8065xhzmmmkkkEC ABCDE abcdefgh-0123

W:代表出售对象,x=零售商,空项=OEM厂商

8065:保留

x:代表采用的核心,2=Klamath核心即035微米制造工艺,3= Deschutes核心即025微米制造工艺

hz:代表采用的外频

mmm:表处理器的工作频率

kkk:代表二级缓存的容量

EC:代表ECC纠错

ABCDE:规格号

abcdefgh-0123:其中第一位代表产地,0=Costa Rica(哥斯达黎加),1=Philippines(菲律宾),9=Malaysia(马来西亚),Y=Ireland(爱尔兰));接下来的两位代表第多少周生产。

2PIII Confidential编号格式:

xxxEBkkkMMM20VS1 abcde abcdefgh-0123

Xxx::代表CPU工作频率

EB:E=采用018微米制造工艺;B=133MHZ FSB前端总线

Kkk:代表二级缓存的容量

MMM:代表CPU的外部频

20V:代表核心电压

S1:代表CPU的架构,S1=Slot 1

Abcde:规格号

abcdefgh-0123:序列号,其中第一位代表产地0=Costa Rica(哥斯达黎加),1=Philippines(菲律宾),9=Malaysia(马来西亚),Y=Ireland(爱尔兰))接下来两位是代表第多少周生产。

3PIII Coppermine的编号格式:

RaaaaaHZmmmkkkEC abcde abcdefgh-0123

R:R=Socket 370架构

Aaaaa:代表采用的核心。80525=Katmai核心,80526=Coppermine核心

HZ:代表CPU的外频

Mmm:代表CPU的工作频率Hz

Kkk:代表CPU二级缓存容量

EC:代表ECC纠错

Abcde:规格号

abcdefgh-0123:同PIII Confidential

4Celeron编号格式:

FV524RX mmmkkk ABCDE XXXXX L01234567-1234

FV524RX:保留

Mmm:代表CPU工作频率

Kkk:代表二级缓存的容量

ABCDE:规格号

XXXXX:产地,MALAY=马来西亚,COSTA RICA=哥斯达黎加

L01234567-1234:其中第一个L代表产地(0=Costa Rica(哥斯达黎加),1和9= Malaysia

(马来西亚));接下来的123代表第多少周生产

Celeron II编号的识别方法与PIII Coppermine相同

5PGA-423 P4上面已经介绍过了,现在介绍PGA-478的P4。编号格式:

17GHz/256/400/175V SL57V MALAY L118A981-0023。

15GHz/256/400/175V,分别表示处理器工作频率/L2缓存大小/前端总线频率/工作电压,这是一颗15GHz、L2缓存有256KB、前端总线400MHz、工作电压175V的P4。

SL5N8 MALAY,SL5N8表示处理器的S-Spec编号,后面的MALAY是生产产地。

L132A677-0110,表示产品的序列号。

6AMD K6-2编号格式:

AMD-K6-2/mmm xvC 22V CORE / 33V I/O A生产日期AMD

mmm:代表工作频率

x:代表封装方式,A=321针PGA

v:代表工作电压,F=允许波动范围21~23V Core和3135~36V I/O

C:代表最高工作温度,R=70度

22V CORE:22V CORE=标准22V核心电压,

33V I/O:33V I/O=33V I/O电压

A:代表修订版

生产日期:其中第三四个数字代表第几周生产,M代表Monday(星期一),PM代表下午。通常说来,时间越往后的产品,bug越少,性能也越好。

7Duron编号格式:

例如PGA封装的Duron编号:AMD-D800AUT1B:

AMD-D:代表AMD DURON毒龙系列

800:代表CPU的主频

A:代表封装方式(M=卡匣式,A=PGA,其他为TBD)

U:代表工作电压(S=15V;U=16V;P=17V;M=175V;N=18V)

T:代表工作温度(Q=60C;X=65C;R=70C;Y=75C;T=90C;S=95C)

1:代表二级缓存容量(1=64KB;2=128KB;3=256KB)

B:代表最大总线频率(A=B=200MHz;C=266MHz)

8Athlon编号格式:

例如:AMD-K7 800MPR52B A表示的意义:

AMD-K7:代表AMD Athlon产品系列

800:代表CPU的主频

M:代表封装方式(M=卡匣式,P=PGA,其他为TBD)

P或T:代表工作电压(一般为103-205V)

R:代表工作温度(如果前面一个字母为T,那么R的最大值是70摄氏度)

5:代表二级缓存容量(5=512KB,1=1MB,2=2MB)

2:代表缓存分类(1=全速,2=1/2速)

B:代表最大总线频率(B=200MHz)

A:代表保留特性(前面有三个空格,A=018微米制造工艺,C=025微米制造工艺)。

9PGA封装的Athlon编号:

直接刻在CPU的内核表面上,例如AMD-A0850APT3B:

AMD-A0:代表AMD Athlon雷鸟产品系列

850:是CPU的主频

A:代表封装方式(M=卡匣式,A=PGA,其他为TBD)

P:代表工作电压(S=15V;U=16V;P=17V;M=175V;N=18V)

T:代表工作温度(Q=60C;X=65C;R=70C;Y=75C;T=90C;S=95C)

3:代表二级缓存容量(2=128KB;3=256KB)

B:代表最大总线频率(A=B=200MHz;C=266MHz)。

通过以上一些AMD和Intel CPU的编号详细了解,希望大家能够知道其中的含义,从中选购出适合自己的CPU。

以上就是关于C语言读取计算机CPU的序列号、硬盘(网卡、机器名)全部的内容,包括:C语言读取计算机CPU的序列号、硬盘(网卡、机器名)、C语言(VC++6.0)获取cpu编码、50分求用vb获得cpu型号,主频,外频等具体参数的方法(答案满意的再加分哦)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9342990.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存