![]() |
Wird DVD im Laufwerk gerade formatiert
Liebe DP-Gemeinde,
gibt es einen Befehl, mit dem ich aus meinem Delphi Programm heraus prüfen kann, ob das Windows Betriebssystem (Explorer) gerade meine DVD im Laufwerk formatiert (und dann beschreibt), um in dieser Zeit NICHT auf dieses Laufwerk (aus meinem Delphi Programm heraus) zuzugreifen? Mein BS: Windows Vista 32bit Mein Delphi: D2005 MfG, terence |
AW: Wird DVD im Laufwerk gerade formatiert
Also bei mir kommt dann schlicht ein "Zugriff verweigert", bist du sicher, dass die Prüfung darauf wirklich nötig ist?
|
AW: Wird DVD im Laufwerk gerade formatiert
DVDs werden nicht formatiert. Ausnahme: DVD-RAM und DVD-RW mit UDF-Dateisystem (wobei man von letzterer Kombination sowieso die Finger lassen sollte).
Das bedeutet: auf aktive Formatierung prüfen zu wollen, ist ziemlich sinnfrei, weil ungenau, daher sollte man sich an einen anderen Vorgang halten, der unabhängig vom Medium aktiv sein könnte: das Brennen selbst. MfG Dalai |
AW: Wird DVD im Laufwerk gerade formatiert
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:
dann habe ich in prvDVDdrives alle Laufwerksbuchstaben stehen,
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; 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 |
AW: Wird DVD im Laufwerk gerade formatiert
Habe mein Problem jetzt gelöst.
Lösung im Anhang: PStopReadDVDDrives-Test_2012_12_30.zip (464,9 KB) MfG, terence |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:34 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-2025 by Thomas Breitkreuz