![]() |
Dateiinfo
Guten Morgen!
:?: Gibt es eine Möglichkeit die Dateiinfo auszulesen ohne die Datei zu öffnen? :?: |
Re: Dateiinfo
Moin HAF68k,
was verstehst Du denn unter DateiInfo? |
Re: Dateiinfo
na die ganzen informationen die man eingeben kann.
titel, betreff, autor und so ... |
Re: Dateiinfo
|
Re: Dateiinfo
Nein, er meint die DateiInfos, die von NTFS zusätzlich zur Datei im Dateisystem gespeichert werden. Ruf mal die Dateieigenschaften einer Datei auf da findest du bei NTFS drei Reiter: Allgemein, Sicherheitseinstellungen und Dateiinfo.
|
Re: Dateiinfo
genau die meine ich
|
Re: Dateiinfo
Moin HAF68k,
jetzt versteh' ich was Du meinst. Wie jetzt genau die Dateiinfo ausgelesen wird kann ich Dir leider auch nicht sagen, allerdings wird dazu nicht die Datei geöffnet. Diese Daten werden als zusätzlicher Stream an die Datei angehängt, und dieser wird ausgelesen. Das Prinzip kannst Du schon einfach mit Notepad nachvollziehen: Start\Ausführen: notepad c:\temp\test.txt:unsichtbarer.teil Jetzt kannst Du in den Zusatz namens unsichtbarer.teil etwas reinschreiben und speichern. Die Datei test.txt bleibt dann immer noch 0 Byte gross, und von dem Anhang unsichtbarer.teil siehst Du nichts. Das ganze funktioniert allerdings nur unter NTFS, und wenn die Datei auf ein anderes Dateisystem kopiert wird werden die zusätzlichen Daten nicht mit kopiert. Das funktioniert natürlich nicht nur mit Notepad. Du kannst das z.B. auch mit TFileStream machen. |
Re: Dateiinfo
aha. so ist das also.
dann ist das ganze ja eh kein problem mehr. ich werds mal versuchen ob ichs hinkriege und poste dann den code |
Re: Dateiinfo
Zitat:
Zitat:
|
Re: Dateiinfo
Moin Luckie,
Voraussetzungen: C:\temp existiert C:\temp\test.txt existiert nicht. Wenn Du nun diese Zeile nimmst notepad c:\temp\test.txt:unsichtbarer.teil dann würde, die Datei test.txt in c:\temp angelegt werden, und im Notepad steht der zusätzliche Teil (unsichtbarer.teil) zum Bearbeiten bereit. Schreibst Du jetzt irgendwas ins Notepad rein und speicherst, wirst Du feststellen können, dass Du eine 0 Byte grosse Datei test.txt in C:\temp stehen hast. Wird die, z.B. mit Doppelclick, geöffnet hast Du nach wie vor eine leere Datei vor Dir. Man kann das, wie schon gesagt, auch mit, z.B., TFileStream machen. Ausprobieren kann ich das leider nicht, deshalb kann ich auch nicht sagen, ob und welche Fehlermeldung kommt, wenn man das unter einem nicht NTFS Dateisystem probiert. Um es noch einmal deutlich zu sagen :unsichtbarer.teil soll nur das Prinzip verdeutlichen, wie man solche zusätzlichen Informationen an Dateien anhängen kann. Für das Property Sheet "DateiInfo" wird es mit Sicherheit Systemfunktionen zum Lesen und Schreiben geben. Welche das sind weiss ich allerdings nicht. Wie hierfür der Teil nach dem : benannt ist weiss ich auch nicht, vermutlich ein GUID. |
Re: Dateiinfo
Das ist ja geil. Da kann man ja auch NTFS-Systemen schön sachen verstecken. Wenn man nicht weiß was nach dem Doppelpunkt kommt, kommt man auch an die Daten nicht dran. :shock:
|
Re: Dateiinfo
Zitat:
Zitat:
|
Re: Dateiinfo
Moin Luckie,
Zitat:
Ich bin mal zufällig darüber gestolpert, als ich mal einen Fehler beim Zusammensetzen von Dateinamen gemacht habe, was dann zur Folge hatte, dass die Dateien leer waren, und der Name auch nicht stimmte ;-) Leider kann ich den Artikel zum Thema im Moment nicht finden. Apropos Thema: Um mal wieder auf's Thema zu kommen. DOCPROP.DLL / DOCPROP2.DLL sind vermutlich die entsprechenden PropertySheetHandler für DateiInfo. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:53 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