Wie bekomme ich - über eine Funktion - heraus:
1. ob mein Programm von einem Wechseldatenträger (Diskette, CD/DVD oder USB-Stick) gestartet wurde
2. ob der Datenträger wiederbeschreibbar ist (und zwar sofort)?
Zu 1.:
- Laufwerksbuchstaben von paramstr(0) ermitteln
- dann sinngemäß
Delphi-Quellcode:
function GetDriveImage(s: string): Integer;
var drv: Byte;
begin
Result := 3;
drv := GetDriveType(PChar(s + ':\'));
case drv of
DRIVE_REMOVABLE: Result := 0;
DRIVE_FIXED: Result := 1;
DRIVE_CDROM: Result := 2;
DRIVE_REMOTE: Result := 3;
end;
end;
//@Moderator: Absichtlich *keine* Delphi-Tags gesetzt!
Der obigen function wird in s der Laufwerksbuchstabe (als ein ein Zeichen langer String) übergeben. Funktioniert auch.
Zu 2.:
Wie bekomme ich raus, ob das Ergebnis der obigen funcion ein sofort wiederbeschreibbarer Wechseldatenträger (sprich: USB-Stick ohne Schreibschutz) ist?
Geht das wirklich nur über das versuchsweise Schreiben einer dummy-Datei auf das Laufwerk "s" oder geht das irgendwie "eleganter"?
Und ohne kreuzbrechende Verrenkungen unter Windows2000 SP4 mit Delphi5pro?
mfg
[edit=Luckie]@rory: Absichtlich Delphi-Tags gesetzt. Mfg, Luckie[/edit]