.eml Drag & drop in andere Applikationen

  • Hallo !

    Wie kann ich aus der Nachrichtenübersicht ganze E-Mails per Drag & drop in andere Applikationen übernehmen ?
    Soweit ich gesehen habe, funktioniert das Ablegen der .eml-Dateien dieses nur auf dem Desktop od. Explorer.
    Wie kann man David mitteilen, das mein Programm auch eine .eml-Datei in einem bestimmen Pfad empfangen kann ?

    Code
    DragAcceptFiles(myControl.Handle, True);


    und Behandlung der

    Code
    WM_DROPFILES


    bringt keinen Erfolg.

    M.

    Einmal editiert, zuletzt von VMbuseck (12. Oktober 2012 um 08:51) aus folgendem Grund: API Calls zugefügt

  • ich würde das Thema gerne puschen, da sich uns das gleiche Problem stellt.

    MfG Michael F.

  • Das lieben wir alle an Tobit :cursing:

  • Guckst du hier:

    Das niedliche kleine Programm ist zwar schon etwas älter, funktioniert aber nach wie vor super - damit lässt sich analysieren was Tobit in ihren Drag and Drop Daten verstecken.
    Da der Sourcecode des Programms vorliegt, sollte es nicht weiter schwer sein, einen passenden Drag and Drop Handler für deine Anwendung zu schreiben.


    Basti

  • Das Code-Sample ist ja ganz nett, aber es beantwortet nicht die Frage, was man machen muss, damit mein Programm als Drop-Destination akzeptiert wird. Soweit ich gesehen habe geht es nämlich nur in den Explorer oder auf das Desktop (siehe 1. Posting).

    Es soll nämlich wie folgt funktionieren:
    1) Im Tobit Infocenter links mehrere Nachrichen mit [STRG]+Maus selektieren
    2) Auf meine Anwendung ziehen
    3) Drop

    Tobit erstellt bei dem Explorer oder dem Desktop in dem entsprechenden Pfad eine .eml-Datei. Wenn man wüsste, wie und auf welchem Wege die Kommunikation zwischen Tobit und dem Explorer läuft (da gibt es ja eine ganze Reihe Möglichkeiten), dann könnte ich dem Tobit Infocenter auch entsprechend mitteilen, wo ich die .eml hin haben möchte :S

  • Naja, ich habe deine Frage schon beantwortet - denn nicht Tobit erstellt beim Drop die Datei sondern der Windows Explorer - wenn du dir die Zeit genommen hättest, das Programm (ClipSpy) mal anzusehen, dann hättest du festgestellt, dass ClipSpy als "Drop-Destination" fungiert.
    Du kannst also deine Mails aus David auf den linken Bereich von ClipSpy draggen und ClipSpy zeigt dir an was Tobit dort für Daten überträgt.

    Deine Anwendung muss also seinen Drop Handler auf die gleiche Weise definieren wie es in ClipSpy vorgemacht wurde - dann musst du die Daten die da kommen auswerten und kannst damit machen was du möchtest, wenn du Lust hat, kannst du damit auch eine EML Datei erstellen, genau an der Stelle wo du sie hinhaben möchtest.

  • Hi Basti,

    den ClipSpy habe ich mir schon angesehen. Ich habe nur nicht bemerkt, dass die linke Seite im ClipSpy als "Drop-Destination" fungiert.
    Danke für den Tipp.

    VG M. :thumbup:

  • Gibt es irgendwo eine Dokumentation der Datenstrukturen, die hinter den Clipboard-Formaten

    #TobitMsgdata
    #TobitEntryDataEx

    stecken :?:

  • Wie in beschrieben funktioniert es leider nicht, da für jeden FILEDESCRIPTOR der CFSTR_FILECONTENTS den Tymed TYMED_NULL (= keine Daten) enthält.

    Man muss wohl wirklich über #TobitMsgdata und #TobitEntryDataEx direkt auf die Dateien zugreifen. Der Pfad zum Archiv ist ja als plain-text darin erkennbar.

  • Das hier hattest du schon gesehen - oder:

    Habe ich, aber das ist unvollständig, weil die Beschreibung der Datei archive.dat fehlt.

    Es ist aber so, dass jeder Datensatz in der Datei archive.dat 430 Bytes lang ist. Ab Byte 113 bzw. 115 des Satzes beginnt die Beschreibung der Message (separiert mit 0x00 0x??) mit 'From', 'To', 'Subject', 'Filename', ... (in variabler Reihenfolge und Kennzeichnung der Typen durch das Byte 0x??). Die eigentliche Nachricht steht dann in 'Filename'.001 (David Client Message [plain text]), 'Filename'.0tx (David Client Message Property) und 'Filename'.$nn (Attachments).

    Mit Dokumentation von Tobit wäre es schneller gegangen 8|

    3 Mal editiert, zuletzt von VMbuseck (12. Dezember 2012 um 17:08)

  • Wo wird denn eigentlich das Encoding der CF_TEXT, ... und der Nachricht gespeichert ? Ist es immer als UTF-8 gespeichert ?

    :?:

  • In den Dateien 'Filename'.$nn stehen offensichtlich die Namen (ohne Pfad) der Attachments. Wo steht der Pfad und wie viele Attachments die Nachricht hat ?

    Ohne Dokumentation ist es echt nervig ...

    :cursing:


  • Frag doch mal bei Tobit, in dem anderen Tobit Forum in dem du gepostet hat, schrieb doch jemand, dass er die Strukturen von Tobit bekommen hat.

    Von Tobit kommt nur DAS ;(

    Und in dem "anderen" Forum kommt keine Antwort ...

    Das Thema Attachments ist gelöst. Offenbar ist an Stelle 391 des Satzes der archive.dat ein 0x01 gesetzt.
    Dann öffnet man die 'Filename'.$00, wo wiederum in Blöcken zu 208 Byte die Namen etc. der Attachements drinnen stehen. Die Attachements selbst sind dann einfach durchnumeriert: 'Filename'.$01, 'Filename'.$02, ...

    Offen ist jetzt noch das Thema "Encoding" ?(

  • Die Struktur der archive.dat findet sich bspw. HIER !

    Wo gibt's die Dokumentation dazu ? Weder in den beiden Handbüchern (Davidfx12. Handbuch für Administratoren bzw. Das praktische Arbeitshandbuch) noch auf der CD (Davidfx12. The Information Server) findet sich irgend etwas dazu ...

    Selbsterkärend sind die Bezeichner leider nicht :whistling:

  • Wo gibt's die Dokumentation dazu ? Weder in den beiden Handbüchern (Davidfx12. Handbuch für Administratoren bzw. Das praktische Arbeitshandbuch) noch auf der CD (Davidfx12. The Information Server) findet sich irgend etwas dazu ...


    Hallo,

    wenn du dich im club.tobit.com anmeldest und dort unter kundendienst/aktuelle downloads schaust ... da gibts gaaaanz unten zu jeder david version eine komplette api mit beschreibung seit 2006 ...
    ich kenn mich damit net wirklich aus, und ob das wirklich weiterhilft weis ich auch net ... aber ein versuch ist es wert ;)
    schöne weihnachten
    lg
    o.b.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!