![]() |
Seriennummer der Festplatte bzw. Diskette auslesen!
Moin
Hab da mal ne frage zu GetVolumeInformation! das mit dem Befehl hab ich verstanden! mich interresiert jetzt wie kann ich die seriennummer ausgeben? hab das problem das dort immer eine null zu sehen ist! |
Der Code sollte gehen (inkl. Tippfehlern)
Delphi-Quellcode:
...:cat:...
procedure TForm1.Button1OnClick(Sender: TObject);
var Root: array[0..20] of Char; FileSysName, VolName: array[0..255] of Char; SerialNum, MaxCLength, FileSysFlag: DWORD; begin Root := 'C:\'; GetVolumeInformation(Root, VolName, 255, @SerialNumber, MaxCLength, FileSysFlag, FileSysName, 255); Label1.Caption := IntToHex(SerialNum, 8); end; |
alles klar!
Danke |
Hallo,
Achtung: Mit GetVolumeInformation erhälst Du die logische Seriennummer der Platte. Diese Nummer wird beim formattieren der Platte vom OS vergeben. Nach jeder Formattierung ändert sich diese Nummer. Daraus folgt, diese Seriennummer hat nichts mit der Serienummer zu tun, die der Hersteller vergibt. |
Hallo Jens!
Dieser Hinweis hat mir gefehlt. :idea: Ich hab' schon gedacht, daß es mit den großen Platten nicht funktioniert, weil ich ja für jede Partition einen anderen Wert erhalte. Weiß jemand, wie man die vom Hersteller vergebene Serien-Nummer einer Festplatte auslesen kann? mfg eddy |
Moin eddy,
unter Windows 2000 (wahrscheinlich auch XP, eventuell NT) sollte man dies für IDE Platten aus der Registry auslesen können. Unter HKLM\SYSTEM\CurrentControlSet\Enum\IDE stehen die Keys der IDE Festplatten. Der Name des Keys endet, zumindest bei Festplatten, mit der Seriennummer. Schau's Dir am Bestem mal selber an. |
Hallo Christian,
vielen Dank für den Tip. (Habe erst heute wieder Zeit gefunden, im Forum zu stöbern.) Unter Win98 SE habe ich in der Registry die SN nicht gefunden, unter Win2000 war ich dank Deines Hinweises etwas erfolgreicher. Unter HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Enum/IDE habe ich den Eintrag gefunden. mfg eddy |
Ich hoffe, du öffnest den Schlüssel nur lesend?
|
Moin eddy,
wichtig ist den Key unter CurrentControlSet zu nehmen. ControlSet00x ist nur ein Profil, das mal gelaufen ist, Current ist das aktuell aktive Profil. |
Re: Seriennummer der Festplatte bzw. Diskette auslesen!
Gibts nicht auch eine Möglichkeit die Seriennummer direkt auszulesen? da sie sonst immer wo anders in der Registry(je nach Betriebsystem) zu finden ist und evtl manipuliert werden kann.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz