请问主板型号(序列号)、硬盘编号是否世界唯一?及用程序怎样得到?

解决方案 »

  1.   

    主板型号(序列号)、硬盘编号是唯一的
    //得到硬盘的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.
      

  2.   

    主板型号(序列号)、硬盘编号是否世界唯一?
    不可能唯一,
    没有相关的规范,
    为什么网卡的唯一啦,因为有统一的规范,在厂家生产网卡之前,需要申请MAC地址段,然后只能生产该段内的网卡,这个是有组织有规范的,所以能保证唯一。
    而主板硬盘嘛,就歪想了。
      

  3.   

    Port[$1F7]不正确,是不是d3以前的版本支持,现在不支持了呢?
      

  4.   

    网卡出厂序列号虽然唯一,但用户可以更改,我试过REALTEK的网卡。
    硬盘序号应该是唯一的。
      

  5.   

    看看下面的控件吧取所有电脑硬件的序列号码:
    http://www.csdn.net/cnshare/soft/15/15890.shtm
    mac地址只要不是人为改,应该是全世界唯一的。
      

  6.   

    honkily(CODING) 的程序好像有问题,
    你要想要,请留信箱,我有一个.dll文件,应该没问题!
      

  7.   

    硬盘是唯一的,网卡MAC也是唯一的
      

  8.   

    硬盘的序列号应该不是唯一的,不过目前估计也没有重复的,一方面没有一个统一的组织对它制定规范,所以理论上不是唯一的,另一方面各个厂商又有自己的编号,所以一个厂商的硬盘编号应该不会重复,当然不同的厂商编号规则可能都不一样,所以重复的可能性也不大,不过有些硬盘没有序列号例如SAMSUM。主板的序列号应该就是BIOS的序列号!只有网卡的序列号是唯一的!
      

  9.   

    网卡的MAC地址不会是绝对唯一的,尽管在厂家生产网卡之前,需要申请MAC地址段,然后只能生产该段内的网卡,但并没有规定厂家生产的网卡MAC一定得唯一,厂家只要保证销售地区的MAC唯一就行了,比如说销售给亚洲的和销往非洲的网卡中可能会存在MAC相同的情况,但是由于两网卡在同一网段的机会非常小,也就没有什么了!