主板型号(序列号)、硬盘编号是否世界唯一? 请问主板型号(序列号)、硬盘编号是否世界唯一?及用程序怎样得到? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 主板型号(序列号)、硬盘编号是唯一的//得到硬盘的IdUnit HardDisk;INTERFACEFUNCTION GetHardDiskNaam : STRING;FUNCTION GetHardDiskSerieNummer : STRING;FUNCTION GetHardDiskControlleNummer : STRING;PROCEDURE GetHardDiskGegevens;CONSTCodeerTabel : ARRAY[0..24] OF BYTE =(3,1,2,1,4,1,3,2,6,4,6,5,1,2,6,4,2,6,3,4,6,2,4,1,2);TYPECharArray = ARRAY[0..24] OF CHAR;VARHardDiskGegevens : ARRAY[1..256] OF INTEGER;HardDiskNaam : CharArray;SerieNummer : CharArray;ControlleNummer : CharArray;C_HardDiskNaam: STRING;C_HardDiskSerieNummer : STRING;C_HardDiskControlleNummer : STRING;C_LicentieNaam: STRING;IMPLEMENTATIONFUNCTION GetHardDiskNaam : STRING;VARTeller : INTEGER;Lus : INTEGER;BEGINGetHardDiskNaam := '';Teller := 1;FOR Lus := 1 TO 18 DOBEGINHardDiskNaam[Teller] := CHR( ( HardDiskGegevens[27+Lus] DIV 256 ));Inc(Teller);HardDiskNaam[Teller] := CHR( ( HardDiskGegevens[27+Lus] MOD 256 ));Inc(Teller);END;GetHardDiskNaam := HardDiskNaam;END;FUNCTION GetHardDiskSerieNummer : STRING;VARTeller : INTEGER;Lus : INTEGER;BEGINGetHardDiskSerieNummer := '';Teller := 1;FOR Lus := 1 TO 8 DOBEGINSerieNummer[Teller] := CHR( ( HardDiskGegevens[10+Lus] DIV 256 ));Inc(Teller);SerieNummer[Teller] := CHR( ( HardDiskGegevens[10+Lus] MOD 256 ));Inc(Teller);END;GetHardDiskSerieNummer := SerieNummer;END;FUNCTION GetHardDiskControlleNummer : STRING;VARTeller : INTEGER;Lus : INTEGER;BEGINGetHardDiskControlleNummer := '';Teller := 1;FOR Lus := 1 TO 3 DOBEGINControlleNummer[Teller] := CHR( ( HardDiskGegevens[23+Lus] DIV 256 ));Inc(Teller);ControlleNummer[Teller] := CHR( ( HardDiskGegevens[23+Lus] MOD 256 ));Inc(Teller);END;GetHardDiskControlleNummer := ControlleNummer;END;PROCEDURE GetHardDiskGegevens;VARLus : INTEGER;BEGINWHILE ( Port[$1f7] <> $50) DO ;Port[$1F6] := $A0 ;Port[$1F7] := $EC ;WHILE ( Port[$1f7] <> $58 ) DO ;FOR Lus := 1 TO 256 DOBEGINHardDiskGegevens[Lus] := Portw[$1F0] ;END;END;END. 主板型号(序列号)、硬盘编号是否世界唯一?不可能唯一,没有相关的规范,为什么网卡的唯一啦,因为有统一的规范,在厂家生产网卡之前,需要申请MAC地址段,然后只能生产该段内的网卡,这个是有组织有规范的,所以能保证唯一。而主板硬盘嘛,就歪想了。 Port[$1F7]不正确,是不是d3以前的版本支持,现在不支持了呢? 网卡出厂序列号虽然唯一,但用户可以更改,我试过REALTEK的网卡。硬盘序号应该是唯一的。 看看下面的控件吧取所有电脑硬件的序列号码:http://www.csdn.net/cnshare/soft/15/15890.shtmmac地址只要不是人为改,应该是全世界唯一的。 honkily(CODING) 的程序好像有问题,你要想要,请留信箱,我有一个.dll文件,应该没问题! 硬盘是唯一的,网卡MAC也是唯一的 硬盘的序列号应该不是唯一的,不过目前估计也没有重复的,一方面没有一个统一的组织对它制定规范,所以理论上不是唯一的,另一方面各个厂商又有自己的编号,所以一个厂商的硬盘编号应该不会重复,当然不同的厂商编号规则可能都不一样,所以重复的可能性也不大,不过有些硬盘没有序列号例如SAMSUM。主板的序列号应该就是BIOS的序列号!只有网卡的序列号是唯一的! 网卡的MAC地址不会是绝对唯一的,尽管在厂家生产网卡之前,需要申请MAC地址段,然后只能生产该段内的网卡,但并没有规定厂家生产的网卡MAC一定得唯一,厂家只要保证销售地区的MAC唯一就行了,比如说销售给亚洲的和销往非洲的网卡中可能会存在MAC相同的情况,但是由于两网卡在同一网段的机会非常小,也就没有什么了! ocx控件的使用 请问以下通信问题如何解决? 大家请近来看看,能帮忙的尽量帮我一下,分不够可以再加,绝不食言! 对于字串常量 resourcestring 和 const 的声明有多少区别? 如何全选dbgrid的记录呢? 有谁用Delphi做过ERP,能否提供ERP的整体方案谢谢! 请问如何将BMP图片转换为.lcon图标形式,也就是Delphi用的图标? 如何提高sql server数据库用程序转存为excel格式的速度? 两条sql 语句的区别?(大家帮忙过来看一下) d6 personal Edition的序列号 哪有书籍下载 MDI窗口问题
//得到硬盘的Id
Unit HardDisk;INTERFACEFUNCTION GetHardDiskNaam : STRING;FUNCTION GetHardDiskSerieNummer : STRING;FUNCTION GetHardDiskControlleNummer : STRING;PROCEDURE GetHardDiskGegevens;CONSTCodeerTabel : ARRAY[0..24] OF BYTE =(3,1,2,1,4,1,3,2,6,4,6,5,1,2,6,4,2,6,3,4,6,2,4,1,2);TYPECharArray = ARRAY[0..24] OF CHAR;VARHardDiskGegevens : ARRAY[1..256] OF INTEGER;HardDiskNaam : CharArray;SerieNummer : CharArray;ControlleNummer : CharArray;C_HardDiskNaam: STRING;C_HardDiskSerieNummer : STRING;C_HardDiskControlleNummer : STRING;C_LicentieNaam: STRING;IMPLEMENTATIONFUNCTION GetHardDiskNaam : STRING;VARTeller : INTEGER;Lus : INTEGER;BEGINGetHardDiskNaam := '';Teller := 1;FOR Lus := 1 TO 18 DOBEGINHardDiskNaam[Teller] := CHR( ( HardDiskGegevens[27+Lus] DIV 256 ));Inc(Teller);HardDiskNaam[Teller] := CHR( ( HardDiskGegevens[27+Lus] MOD 256 ));Inc(Teller);END;GetHardDiskNaam := HardDiskNaam;END;FUNCTION GetHardDiskSerieNummer : STRING;VARTeller : INTEGER;Lus : INTEGER;BEGINGetHardDiskSerieNummer := '';Teller := 1;FOR Lus := 1 TO 8 DOBEGINSerieNummer[Teller] := CHR( ( HardDiskGegevens[10+Lus] DIV 256 ));Inc(Teller);SerieNummer[Teller] := CHR( ( HardDiskGegevens[10+Lus] MOD 256 ));Inc(Teller);END;GetHardDiskSerieNummer := SerieNummer;END;FUNCTION GetHardDiskControlleNummer : STRING;VARTeller : INTEGER;Lus : INTEGER;BEGINGetHardDiskControlleNummer := '';Teller := 1;FOR Lus := 1 TO 3 DOBEGINControlleNummer[Teller] := CHR( ( HardDiskGegevens[23+Lus] DIV 256 ));Inc(Teller);ControlleNummer[Teller] := CHR( ( HardDiskGegevens[23+Lus] MOD 256 ));Inc(Teller);END;GetHardDiskControlleNummer := ControlleNummer;END;PROCEDURE GetHardDiskGegevens;VARLus : INTEGER;BEGINWHILE ( Port[$1f7] <> $50) DO ;Port[$1F6] := $A0 ;Port[$1F7] := $EC ;WHILE ( Port[$1f7] <> $58 ) DO ;FOR Lus := 1 TO 256 DOBEGINHardDiskGegevens[Lus] := Portw[$1F0] ;END;END;END.
不可能唯一,
没有相关的规范,
为什么网卡的唯一啦,因为有统一的规范,在厂家生产网卡之前,需要申请MAC地址段,然后只能生产该段内的网卡,这个是有组织有规范的,所以能保证唯一。
而主板硬盘嘛,就歪想了。
硬盘序号应该是唯一的。
http://www.csdn.net/cnshare/soft/15/15890.shtm
mac地址只要不是人为改,应该是全世界唯一的。
你要想要,请留信箱,我有一个.dll文件,应该没问题!