社区
Delphi
帖子详情
p3以上的cpu就支持cpuid了,在delphi 中如何取出cpuid呢?
tsj68
2003-10-03 12:14:44
如题.
...全文
187
10
打赏
收藏
p3以上的cpu就支持cpuid了,在delphi 中如何取出cpuid呢?
如题.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gardenyang
2003-10-03
打赏
举报
回复
TCPUID = array[1..4] of Longint;
TCPUVendor = array[0..11] of Char;
gardenyang
2003-10-03
打赏
举报
回复
function GetCPUID: TCPUID; assembler; register;
asm
PUSH EBX {Save affected register}
PUSH EDI
MOV EDI,EAX {@Resukt}
MOV EAX,1
DW $A20F {CPUID Command}
STOSD {CPUID[1]}
MOV EAX,EBX
STOSD {CPUID[2]}
MOV EAX,ECX
STOSD {CPUID[3]}
MOV EAX,EDX
STOSD {CPUID[4]}
POP EDI {Restore registers}
POP EBX
end;
function GetCPUVendor: TCPUVendor; assembler; register;
asm
PUSH EBX {Save affected register}
PUSH EDI
MOV EDI,EAX {@Result (TVendor)}
MOV EAX,0
DW $A20F {CPUID Command}
MOV EAX,EBX
XCHG EBX,ECX {save ECX result}
MOV ECX,4
@1:
STOSB
SHR EAX,8
LOOP @1
MOV EAX,EDX
MOV ECX,4
@2:
STOSB
SHR EAX,8
LOOP @2
MOV EAX,EBX
MOV ECX,4
@3:
STOSB
SHR EAX,8
LOOP @3
POP EDI {Restore registers}
POP EBX
end;
gardenyang
2003-10-03
打赏
举报
回复
http://expert.csdn.net/Expert/topic/1905/1905459.xml?temp=.9408533
gardenyang
2003-10-03
打赏
举报
回复
不会吧,难道上面的那个算法的不到唯一的id吗?
好想我测试的时候还真的用的不是同一种cpu,当时我测试时忘了这个问题,就在intel 2.0上面和amd2400+上面测试,然后在intel1.8,2.0等上面测试,最后得出不同的id,然后就没在测试,想想好像还真的没有在不同的同一种cpu上面测试过!感谢搂住,上班之后我重新测试我的程序!
ehom
2003-10-03
打赏
举报
回复
那就完全是你理解错误了,CPUID是什么?它其实也是条指令,通过该指令返回CPU的各种相关信息而已,同一类型的CPU,它的描述信息自然也完全相同.
也没有必要通过
DW $A20F
去插入字去实现该指令,这是低版本Delphi中的做法,在D6中直接写CPUID完全没有问题.
如果是Intel的CPU,并且要取的是PSN的话,如Pazee所说,能取到PSN的只有在早期的P3配合早期的主版,而且用户没有主动关闭它的情况下才能实现,估计这个概率是非常非常的小的.
另外CPUID指令在486时代以后就有了,而不是P3以后才得到支持的.
gardenyang
2003-10-03
打赏
举报
回复
不会吧,这个程序我正在用,在不同的机器上面得出的cpu的id是不同的,把同一个cpu放在不同的机器上,得出的id是一样的,还需要什么唯一id呢?
这个本身就是全球唯一的id啊!
web700
2003-10-03
打赏
举报
回复
高人太多
耙子
2003-10-03
打赏
举报
回复
process number 因为隐私权的问题已近去掉了,只有PIII才有,而且大部分主板都把它屏蔽了。
jpyc
2003-10-03
打赏
举报
回复
看看这个:
http://218.56.11.178:8020/web/index.aspx
-》下载基地-》例程-硬件控制-》内存CPU硬盘检测
可能和上边的差不多。试试吧
tsj68
2003-10-03
打赏
举报
回复
谢谢,这个我试了,但是如果cpu型号相同,不同的电脑则会得出一样的结果.我想知道如何得到每个cpu的唯一id.
Delphi
编程 -- 使用
CPU
ID
指令获取
CPU
信息(转自大富翁)
几乎现在所有的X86
CPU
都内置了
CPU
ID
指令以辨别真伪,一些
CPU
厂商例如AMD,VIA等还内置了更加丰富的扩展
CPU
ID
指令,用着更方便了。 下面我们利用
Delphi
来实现一个
CPU
检测的软件。
CPU
ID
的调用方式如下: asm ...
用
cpu
id
指令获取
cpu
信息(转)
最近在写 一个获取系统信息的
Delphi
组件,想得倒
Cpu
的
id
时,碰到了麻烦。上网查了好多资料,下了好多代码,结果还是没有解决问题,关于取
Cpu
的
Id
众说纷纭,而且我试了好多,好像在几台机器上读到的
Cpu
Id
好像都一样...
用
cpu
id
指令获取
cpu
信息
用
cpu
id
指令获取
cpu
信息 最近在写一个获取系统信息的
Delphi
组件,想得倒
Cpu
的
id
时,碰到了麻烦。上网查了好多
CPU
信息的获得(转自大富翁)
几乎现在所有的X86
CPU
都内置了
CPU
ID
指令以辨别真伪,一些
CPU
厂商例如AMD,VIA等还内置了更加丰富的扩展
CPU
ID
指令,用着更方便了。下面我们利用
Delphi
来实现一个
CPU
检测的软件。
CPU
ID
的调用方式如下: asm push ...
CPU
信息的获得,比较全面的
几乎现在所有的X86
CPU
都内置了
CPU
ID
指令以辨别真伪,一些
CPU
厂商例如AMD,VIA等还内置了更加丰富的扩展
CPU
ID
指令,用着更方便了。下面我们利用
Delphi
来实现一个
CPU
检测的软件。
CPU
ID
的调用方式如下: asm push ...
Delphi
5,927
社区成员
262,931
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章