Ein freundliches Hallo an alle,
und wieder ein Datenträgerproblem: Ich möchte die Seriennummer eines wechselbaren Datenträgers ermitteln, um ihn eindeutig zu identifizieren. Dazu habe ich die "
GetVolumeInformation" verwendet. Ich erhalte aber nur "1" als Ergebnis oder eine Fehlermeldung, wenn ich einen Pointer verwende.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| function VolumeSN(Drive: string): string; var OldErrorMode : Integer; NotUsed, VolFlags : DWORD; SN : LPDWORD; Buf : array [0..MAX_PATH] of Char; begin OldErrorMode := SetErrorMode(SEM_FAILCRITICALERRORS); try GetVolumeInformation(PChar(Drive), Buf, sizeof(Buf), SN, NotUsed, VolFlags, nil, 0); Result := IntToStr( Integer( SN ) ); finally SetErrorMode(OldErrorMode); end; end; |
Hat jemand einen Tipp?
Dank im voraus mit Grüßen von der Nordsee
Peter