Eigenschaften Dateiinfo



  • Servus Publikum,

    habe da ein Problem, zu dem ich bisher nirgendwo eine Antwort finden konnte.
    Wenn man in Windows 2000 die Eigenschaften einer Datei, z.B. einer JPG Datei,
    aufruft gibt es im Eigenschaften Dialog das Dateiinfo Register.

    Jetzt meine Frage: 😕
    Gibt es eine Möglichkeit auf diese Dateiinfo aus meinem Programm heraus zuzugreifen.
    Ich will den Titel und Stichwörter dort hineinschreiben.

    danke im Voraus 👍

    MEX





  • Hallo Jansen,

    den erwähnten Beitrag habe ich schon gelesen.
    Leider ist dort nicht mein Problem beschrieben. Die Dateiinformationen liegen nicht in der Datei (habe da nachgeschaut) und sind auch nicht über die Dateiattribute abgebildet.
    Windows verwaltet diese Zusatzinformationen woanders. Wahrscheinlich in der Registry oder sonstwo. Allerdings kann das nicht lokal sein, weil die Informationen auch anderen Anwendern auf anderen Windows 2000 Rechnern angezeigt werden, wenn die Dateien auf einem Server liegen.

    Hoffe auf weitere Ideen

    MEX



  • Mexikaner schrieb:

    den erwähnten Beitrag habe ich schon gelesen.

    Dann sag das auch!
    Besser noch, stell eine entsprechende Nachfrage im betreffenden Thread, anstatt einen neuen zum selben Thema anzufangen.

    Fakt ist: die unter "Dateiinfo" angezeigten Daten werden aus der Datei ausgelesen (woher auch sonst).
    Im Falle von JPEG handelt es sich um besagte EXIF-Informationen, bei anderen Grafikformaten ist die Information, so vorhanden, vermutlich anders codiert. Deshalb auch der Link zu wotsit.org in o.g. Thread.

    Fest steht auch, dass es sich dabei prinzipiell um kein BCB-Problem handelt. Die wenigen BCB-spezifischen Aspekte, wie z.B. die eventuelle Existenz fertiger Komponenten, wurde in o.g. Thread ebenfalls bereits erörtert.



  • Wenn es dir reicht, einfach den angesprochenen Dialog anzuzeigen, dann geht's auch so:

    SHELLEXECUTEINFO sei;
       ZeroMemory(&sei, sizeof(SHELLEXECUTEINFO));
       sei.cbSize = sizeof(sei);
       sei.fMask = SEE_MASK_INVOKEIDLIST;
       sei.hwnd = Handle;
       sei.lpVerb = "properties";
       sei.lpFile = "bild.jpg";
    
       ShellExecuteEx(&sei);
    

Anmelden zum Antworten