![]() |
Wie kann ich auf ADS zugreifen ?
moin leutz,
weis jemand den grundsätzlichen weg an die ADS informationen einer speziellen datei ranzukommen? wenn moeglich native delphi ohne win32 api? |
Re: Wie kann ich auf ADS zugreifen ?
Sollte doch funktionieren wenn du als Dateinamen folgendes angibst:
Delphi-Quellcode:
So kannst du in jedem Programm auf einen ADS zugreifen. Allerdings wirst du nicht um die Win-API herumkommen, wenn du versuchst alle ADS einer Datei herauszufinden.
DateiName:ADS-Name
|
Re: Wie kann ich auf ADS zugreifen ?
Ich würde sagen: Gar nicht.
Wie willst Du auf spezielle NTFS-Eigenheiten zugreifen ohne Win32-API-Befehle? Es gibt in der Jedi Code Library einige Hilfsfunktionen/Klassen, um nicht komplett auf API-Ebene absteigen zu müssen. |
Re: Wie kann ich auf ADS zugreifen ?
nein, ihr versteh mich falsch, ich will den ADS nicht aufrufen, ich will ihn nur sagen wir mal auslesen
z.b. in hex. form und den inhalt in einem memo darstellen, nun stellt sich die frage wie ich an die datenbytes des streams rankomme gibst ne moeglichkeit das mit blockread/write zu machen. es muss sich doch die sektorennummer auf der platte ermitteln lassen, wo der ads beginnt? |
Re: Wie kann ich auf ADS zugreifen ?
Zitat:
Aber unter einem NT-Basierten System wirst Du über die API gehen müssen (auch "nur" zum auslesen). Sei es nur die spezielle API oder die DateiName:ADS-Name-Form. Was versprichst Du dir denn von einem solchen direkten Zugriff? |
Re: Wie kann ich auf ADS zugreifen ?
hi bernhard,
ich arbeite unter winxp. der hintergrund, ich moechte ein programm schreiben, mit dem ich dateien per drag and drop als ADS mit anderen dateien verbinde. im gegenzug moechte ich jedoch auch dateien bzw. objekte aus dem ADS einer datei loeschen koennen oder den entsprechenden ADS wenigstens von der Hostdatei entfernen |
Re: Wie kann ich auf ADS zugreifen ?
Zitat:
|
Re: Wie kann ich auf ADS zugreifen ?
Ich hab dir die Antwort doch schon gegeben. In jedem Programm und in jeder Delphi Version kannst du den Dateiennamen um einen Doppelpunkt und den entsprechenden Namen des ADS erweitern. Schon kannst du darauf zugreifen.
Achtung. Merke gerade, dass er in einem normalen OpenDialog den Doppelpunkt anmerkert. Allerdings wenn du zum Beispiel in Ausführen von Windows
Delphi-Quellcode:
Angibst, dann legt er einen ADS mit dem Namen test in der Datei c:\test.txt an. Genauso kannst du das bei Delphi bei Assign oder TFileStream.Create oder LoadFromFile oder ... auch machen.
notepad c:\test.txt:test
Allerdings ist hier immer die Beschränkung, dass du den Namen des ADS kennen musst. Um alle ADS einer Datei zu ermitteln wirst du um API-Funktionen nicht herumkommen. |
Re: Wie kann ich auf ADS zugreifen ?
hallo,
darum geht es mir ja auch eigentlich. wenn ich selber ads anlege, kenne ich den namen, kein problem. wenn ich aber die festplatte sozusagen scanne, und alle dateien die ads haben auflisten will, und noch dazu kommt, das eine datei mehrere ads haben kann, ist dat nich so einfach wie du ja selbst sagst. also nochma ich suche eine api funktion , die von einer x beliebigen datei, die namen sämtlicher verbundener ads liefert. hoffe das war nun präzise ausgedrückt Ps: das dat nur mit api geht war mir schon beinahe klar, wollte nur nochmal eure bestaetigung haben ;) |
Re: Wie kann ich auf ADS zugreifen ?
*PUSH*
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 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