Announcement

Collapse
No announcement yet.

seriennummer der festplatte

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • seriennummer der festplatte

    ich habe folgende Funktion bei mir eingebaut, die die Seriennummer der Festplatte ermittelt. Unter Win98 und ME geht es, unter NT erhalte ich die Fehlermeldung "Fehler bei der Bereichsprüfung"... kann mir jemand helfen ?

    Danke
    Holger

    function TFmMain.HDSerialID : String;
    var
    SerialNum, a, b : DWord;
    buff : array[0..255] of char;
    begin
    If GetVolumeInformation('c:\', buff, SizeOf (buff), @SerialNum, a, b,nil, 0) then
    Result:=IntToStr(SerialNum)
    else
    Result:='';
    end;

  • #2
    Hi

    IntToStr(SerialNum) wird geändert in IntToHEX(SerialNum, 8) da SerialNum als DWord deklariert wird und IntToStr() mit vorzeichenbehafteten 32 Bit Integern arbeitet. Alternativ IntToStr(Integer(SerialNum));

    ABER ! Du liest damit NICHT die HD-Serial Nummer aus, sondern nur die Serial Nummer der logischen Partition C:. D.h. diese Nummer wird beim Formatieren der Platte per Zufall vergeben und kann jederzeit geändert werden. Die echte HD-Serial Nummer ist im ROM der Festplatte gespeichert, durch den Hersteller, echt eindeutig und NICHT änderbar. D.h. diese HD-Serial ist für alle Partitionen der Platte identisch und auch nach einer Partitionierung bzw. Formatierung unverändert.

    Gruß Hage

    Comment

    Working...
    X