社区
Delphi
帖子详情
p3以上的cpu就支持cpuid了,在delphi 中如何取出cpuid呢?
tsj68
2003-10-03 12:14:44
如题.
...全文
218
10
打赏
收藏
p3以上的cpu就支持cpuid了,在delphi 中如何取出cpuid呢?
如题.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
信息(转自大富翁)
最近到整理了一份
CPU
的信息,应该算是比较全面的吧。 几乎现在所有的X86
CPU
都内置了
CPU
ID
指令以辨别真伪,一些
CPU
厂商例如AMD,VIA等还内置了更加丰富的扩展
CPU
ID
指令,用着更方便了。 下面我们利用
Delphi
来实现一个
CPU
检测的软件。
CPU
ID
的调用方式如下: asm push eax push ebx push ecx push edx...
用
cpu
id
指令获取
cpu
信息(转)
用
cpu
id
指令获取
cpu
信息 最近在写 一个获取系统信息的
Delphi
组件,想得倒
Cpu
的
id
时,碰到了麻烦。上网查了好多资料,下了好多代码,结果还是没有解决问题,关于取
Cpu
的
Id
众说纷纭,而且我试了好多,好像在几台机器上读到的
Cpu
Id
好像都一样,(开发组机的机器,配置都一样,
cpu
当然也是一个型号的p4 1.8)。可
cpu
的
id
不应该一样吧,每个
cpu
应该有个唯一标识吧,笔者这样认...
用
cpu
id
指令获取
cpu
信息
用
cpu
id
指令获取
cpu
信息 最近在写一个获取系统信息的
Delphi
组件,想得倒
Cpu
的
id
时,碰到了麻烦。上网查了好多
CPU
信息的获得(转自大富翁)
最近到整理了一份
CPU
的信息,应该算是比较全面的吧。几乎现在所有的X86
CPU
都内置了
CPU
ID
指令以辨别真伪,一些
CPU
厂商例如AMD,VIA等还内置了更加丰富的扩展
CPU
ID
指令,用着更方便了。下面我们利用
Delphi
来实现一个
CPU
检测的软件。
CPU
ID
的调用方式如下: asm push eax push ebx push ecx push edx mov eax,X//***...
CPU
信息的获得,比较全面的
最近到整理了一份
CPU
的信息,应该算是比较全面的吧。几乎现在所有的X86
CPU
都内置了
CPU
ID
指令以辨别真伪,一些
CPU
厂商例如AMD,VIA等还内置了更加丰富的扩展
CPU
ID
指令,用着更方便了。下面我们利用
Delphi
来实现一个
CPU
检测的软件。
CPU
ID
的调用方式如下: asm push eax push ebx push ecx push edx m
Delphi
5,930
社区成员
262,943
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章