![]() |
AW: Schreibschutz eines Wechselmediums auslesen
Dein Compiler gibt nicht zufällig eine Warnung aus?
So vonwegen Result sei nicht initialisiert.
Delphi-Quellcode:
if GetVolumeInformation(...) then
Result := Drive_Flags and FILE_READ_ONLY_VOLUME <> 0 else Result := False; // <<<<<< // oder Result := GetVolumeInformation(...) and (Drive_Flags and FILE_READ_ONLY_VOLUME <> 0); |
AW: Schreibschutz eines Wechselmediums auslesen
Alle die Windows für ganz schlau halten :mrgreen: schauen sich jetzt mal die
![]()
Delphi-Quellcode:
gibt ;)
fdoNoTestFileCreate
Nach dem Auswerten der üblichen Verdächtigen, die einen Schreibschutz anzeigen, wird trotzdem eine Testdatei erzeugt um wirklich sicher zu sein, dass dort eine Datei erzeugt werden kann und man damit dort über Schreibrechte verfügt. Und hier handelt es sich um einen gewrappten Dialog von Windows. Es ist also nicht verwerflich eine Testdatei zu erzeugen um die Schreibrechte in einem Verzeichnis zu überprüfen. Allerdings reicht ein simples ![]() |
AW: Schreibschutz eines Wechselmediums auslesen
Jupp, meistens ist das der einfachste Weg.
Es gibt nur gaaanz wenige und vorallem extrem seltene Sonderfälle, weswegen man das Verhalten auch deaktivieren kann. - langsames Netzwerk, wo ein zusätzlicher Test ewig dauern kann - WriteOnly-Berechtigungen - ... Letzteres kennen Einige vielleich noch, z.B. von Posteingangs-FTPs, wo man nur Schreibrechte besitzt, aber weder Löschen und vorallem nicht Lesen und meist auch nichtmal den Verzeichnisinhalt auflisten darf. Und auch die NTFS-Berechtigungen erlauben sowas. Blöd ist es z.B. wenn man eine Datei zum Test erstellt, Diese dann aber nicht mehr löschen oder mit den endgültigen Daten überschreiben darf. :stupid: Oder revisionssichere Datenträger, wo man Geschriebenes nicht wieder löschen/überscheiben kann. |
AW: Schreibschutz eines Wechselmediums auslesen
@himitsu: Delphi 7 meckert da nicht.
Delphi-Quellcode:
Das ist wohl die beste Lösung. ;)
Result := GetVolumeInformation(...) and (Drive_Flags and FILE_READ_ONLY_VOLUME <> 0);
@Sir Rufo: Meine Problemstellung war, dass ich den Schreibschutz von Wechselmedien bzw. Medien allgemein auslesen wollte. Ich hatte nicht vor auf Schreibschutz zu prüfen. Aber das wäre eine Alternative, jedoch keine auszureichende, da, wie himitsu schon erwähnt hat, beschränkte Rechte vorhanden sein können. Mfg -- Truther |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:20 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