Einzelnen Beitrag anzeigen

terence14
(Gast)

n/a Beiträge
 
#4

AW: Wird DVD im Laufwerk gerade formatiert

  Alt 28. Dez 2012, 10:57
Hallo und danke für die schnellen Antworten.

1) Wenn ich im Explorer Dateien auf eine leere DVD-RW
kopiere, kommt die Meldung: Datenträger wird 4.7 GB
formatiert.

Dann, nach ca. 10 Sekunden erscheint das Explorer-
Fenster xxx Dateien in xxx Bytes werden kopiert.

Ist der Kopiervorgang abgeschlossen und ich werfe
den Datenträger aus, kommt in der Taskleiste ein
Balloon-tipp:
"Warten Sie, bis der Datenträger abgeschlossen wird,
damit er auf anderen Computern verwendet werden kann."

2) Wenn ich nun während dieses Vorganges folgenden
Delphi Code ausführe,

Delphi-Quellcode:
         var prvDVDDrives : string[24];

         procedure TForm1._getDVDDrives;
         var drivemap, mask : DWORD;
              i : integer;
              driveStr : string[24];
              root : string;
         begin
         driveStr:='';
         root:='A:\';
         drivemap:=GetLogicalDrives;
         mask:=1;
         for i:=1 to 32 do begin
             if ((mask and drivemap) <> 0) then
                if (GetDriveType(PChar(root)) = DRIVE_CDROM) then
                   driveStr:=driveStr+root[1];
             mask:=mask shl 1;
             inc(root[1]);
         end;
         {-}
         prvDVDdrives:=driveStr+#0;
         end;
dann habe ich in prvDVDdrives alle Laufwerksbuchstaben stehen,
die im OS für ein DVD Laufwerk stehen.
Also z.B: prvDVDdrives:='F';

Das funktioniert so lange, bis ich eben etwas mit Hilfe
des Win-Explorers auf F: schreibe.

Dann kopiert der Explorer und kopiert und kopiert...
Ich kann dann nicht mehr auf F: zugreifen, und muß
im Taskmanager den Explorer beenden.

Startet dann die Windows Oberfläche neu, ist der Datenträger
in F: kaputt, kann weder gelesen noch sonstwas werden.

Da während des Formatierens (und Schreibens) mit dem
Win-Explorer KEIN extra Process gestartet wird, kann ich auch
nicht in meinem Programm auf solch einen laufenden Process
prüfen, bevor ich obigen Delphi-Code ausführe, um eben dann
diese Ausführung zu verhindern.

MfG,
terence

Geändert von terence14 (29. Mär 2013 um 14:40 Uhr)
  Mit Zitat antworten Zitat