Drag & Drop aus 7z heraus

  • Hallo,

    ich möchte ein txt Datei die sich in einer zip Datei befindet auf meine GUI droppen. Ich packe die Textdatei also mit links im 7z Dateimanager an und lasse sie auf meine GUI fallen. Wärend ich die Datei über den Bildschirm bewege wird diese auch ordnungsgemäß in z.B. %temp%\7zECE395076\test.txt entpackt. Sobald ich sie auf die GUI droppe wird die Datei sofort wieder von 7z gelöscht, offensichtlich noch bevor in Autoit der Event ausgelöst wird. Es ist mir also nicht möglich mit dieser Datei zu interagieren.

    Kann mir jemand einen Tipp geben wie das gehen soll?

    Kleines Beispielscript:

    Danke!

  • Danke für deine Hilfe, aber es verhält sich genau gleich. Die Datei ist weg bevor ich sie einlesen kann. Oder mach ich was falsch?

    Hier ist der Code aus der Hilfe. Zeile 49 ist von mir, ich erhalte eine leere MsgBox.

    Zumindest meistens! Von 10 Versuchen ist auch mal einer dabei wo es klappt und Autoit schneller ist als 7z die Datei löschen konnte.

  • Danke für deine Hilfe, aber es verhält sich genau gleich. Die Datei ist weg bevor ich sie einlesen kann. Oder mach ich was falsch?

    Nein, du machst nichts falsch... ich habe es gerade noch mal ausführlich bei mir getestet und bei mir funktioniert es auch nur ab und zu.

    Der 7z Dateimanager löscht die Files also tatsächlich sofort, nachdem die Drag-Message versendet wurde, und somit sind die Files teilweise schon gelöscht, bevor die Drag-Message in deinem Script ankommt... tzzz... das ist aber echt ka***!

    Mit WinRAR funktioniert es aber immer... mit deinem Beispiel-Script geht es nur mit 7zFM.exe und WinRAR.exe... mit dem Beispiel zu der Function _WinAPI_DragFinish geht es aber z.B. auch mit Total-Commander!

    Hier nochmal dein Beispiel-Script... etwas geändert... funktioniert aber auch nicht mit Total-Commander.

  • Nett das du dich reinhängst, danke.

    Es muss da doch einen Trick geben, andere Programme kommen mit dem Drop klar. Notepad++ zeigt das Textdokument anstandslos an wenn ich es darauf droppe.

    Bin also für weitere Hinweise dankbar!