Datei in externes Programm droppen

  • Hi

    Ich würde gerne mit AutoIt einen Drop einer Datei simulieren. Leider hab ich dazu keine Möglichkeit bisher gefunden.

    Beispiel:
    Die Datei D:\video.avi soll in VirtualDub gedroppt werden. Oder eine txt in Notepad. Aber nur simuliert, also ohne echtes Drag & Drop per Maus.

    Das würde halt den Datei-Öffnen-Dialog sparen. Und per command line wird ja leider meist eine neue Programminstanz geöffnet.

    Den Dateipfad per ControlSend an das Fenster zu schicken wäre leider zu einfach, das klappt nicht. Kann man irgendwie einem Programm den Befehl einer gedroppten Datei schicken?

    ?(

    Einmal editiert, zuletzt von klischee (23. Mai 2013 um 06:05)

  • 3. Absatz... :rolleyes:

    Der einzige Weg der mir bisher eingefallen ist ohne Öffnen-Dialog eine neue Datei ohne neue Instanz zu öffnen ist per Drag & Drop. ShellExecute ist so ziemlich das falscheste wenn ich keine neue Instanz will, oder? ^^

  • Ähm.., dann hab ich trotzdem ne neue, oder nicht? :pinch: Ohne dir dumm kommen zu wollen, aber Sinn davon keine neue Instanz öffnen zu wollen, ist sicher nicht der, die aktuelle zu schließen, sondern eben im Gegenteil, die aktuelle zu halten 8|

    Beispielsweise würden dabei in VirtualDub die gesetzten temporären Einstellungen wie Filter zurückgesetzt werden.

    Darum war meine Frage nicht: Wie kann ich Dateien öffnen.
    Sondern: Wie kann ich Dateien per Drag & Drop öffnen, bzw so, dass die aktuelle Instanz auch ohne Dialoge erhalten bleibt.
    Trotzdem danke :)

    2 Mal editiert, zuletzt von klischee (27. Februar 2012 um 15:15)

  • Dann solltest du dich vielleicht klarer ausdrücken. Was genau dein Vorhaben ist, kann man aus dem Startbeitrag nicht ersehen. Lediglich, das du offenbar das Rad neu erfinden willst.

    Wenn es dir konkret um VirtualDub(Mod) geht ... afaik unterstützt VDM eigene Skripte zum Abarbeiten von Jobs, falls das so eine Art Stapelverabeitung werden soll. Solche Skripte lassen sich auch per Kommandozeile übergeben und von AutoIt erstellen.

    Aber alles nur Mutmaßungen. Beschreib, wofür du das benötigst dann findet sich sicher auch eine bessere Lösung als ein automatisiertes drag&drop.

  • Dann solltest du dich vielleicht klarer ausdrücken.


    Ich würd gern wissen wie ich einen Drop simuliere. Ich will Dateien ohne neue Instanz und ohne Dialoge öffnen.
    Wußt nicht dass das irgendwie so unklar formuliert ist dass du mir sogar gegenteilige Tipps gibst ^^ (aber ernsthaft, danke dass du mir versuchst zu helfen)

    Wenn es dir konkret um VirtualDub(Mod) geht ... afaik unterstützt VDM eigene Skripte zum Abarbeiten von Jobs, falls das so eine Art Stapelverabeitung werden soll. Solche Skripte lassen sich auch per Kommandozeile übergeben und von AutoIt erstellen.


    VirtualDub wäre nur ein Fall. Was mich stört ist dass wenn ich per AutoIt Dateien in bereits laufenden Programme öffne, ich mit Datei-Öffnen-Dialogen arbeiten muss. Diese kommen zum einen in den Vordergrund, und sind zum anderen eben im Vergleich zu Drag & Drop kompliziert anzusprechen (erst öffnen (zb per gesendetem Hotkey), dann ControlSend ins Edit-Feld, Enter/Ok Button drücken, jeden einzelnen Schritt auf Erfolg testen).

    Ein Programm zu schließen und per Commandline neu zu öffnen, gäb nervigen Fokus-Chaos. Man kann zwar Parameter zum minimierten oder versteckten Öffnen schicken, aber nicht für "im Hintergrund öffnen". Hinzu kämen je nach Programm andere nervige Folgen wie eine veränderte Fensterposition oder erwähnte verlorene temporäre Einstellungen. Kann man zwar theoretisch alles nachjustieren, ist aber halt komplexer als ein Drop.

    Im konkreten Fall wie VirtualDub kommt halt hinzu dass ich die aktuelle Instanz offen halten muss wegen erwähnten temporären Einstellungen. Jobs bringen nichts, denn auch die würden über einen Dialog geöffnet werden müssen, wenn ich sie nicht im Vorfeld stapelweise erstelle, was ich aber nicht tue, da ich - nur als Beispiel - Crop für jedes Video "live" anpassen muss, während sonstige Settings (zb Codeceinstellungen) über mehrere Videos hinweg gleich bleiben.

    3 Mal editiert, zuletzt von klischee (27. Februar 2012 um 15:41)

  • Äh mit knapp etwas über einem Jahr Verspätung... Danke! Funktioniert super, genau was ich gesucht hab.