Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Öffnen und Steuern von 2 Konvertierprogrammen mit Delphi (https://www.delphipraxis.net/151157-oeffnen-und-steuern-von-2-konvertierprogrammen-mit-delphi.html)

kellerassel007 7. Mai 2010 19:50


Öffnen und Steuern von 2 Konvertierprogrammen mit Delphi
 
Hallo,
ich hoffe ihr könnt mir auch bei meinem neuen Problem weiterhelfen:
Ich nehme seit einigen Monaten regelmäßig per TV Stick Sendungen im Fernsehen auf.
Diese werden per Windows Media Center im wtv-Format abgespeichert.
Ich konvertiere diese bisher immer mit 2 Programmen ins mpg Format und speichere sie dann auf meiner externen Festplatte.

Diese ziemlich aufwändige Prozedur möchte nun automatisieren.
Das heißt, ich möchte mir mit DELPHI ein Programm schreiben, das aus einem Quellverzeichnis alle WTV Dateien ausliest (schon umgesetzt), in einer Listbox anzeigt (auch umgesetzt) und dann für jede der einzelnen Aufnahmen nacheinander zuerst das erste Programm (dies ist der DVR-MS Editor), das die Aufnahme von wtv in dvrms konvertiert, und dann das zweite Programm (das heißt DVRMSToolboxGUI (1.2.2.0)), das die Aufnahme von dvrms in mpg umwandelt, startet und vollautomatisch steuert.

Genauer:
Beim ersten Programm soll mein Programm im Mainmenü unter "Datei" den Menüpunkt "Lade wtv" auswählen, dann einfach den Dateinamen eingeben (in ein erscheinendes Edit_Feld),einen Enterdruck simulieren und zum Schluss abwarten bis die Konvertierung abgeschlossen ist (wenn dies nicht über das Programm selbst geschehen kann, eventuell durch Überprüfung der Größe der neu erzeugten dvrms-Datei und wenn diese nicht mehr größer wird, ist die Konvertierung abgeschlossen).
Wenn die Konvertierung von wtv in dvrms abgeschlossen ist, soll mein Programm das zweite Programm starten dort am besten per Tabulatortaste (1x) in das richtige Editfeld wechseln, dort den Dateinamen eingeben, dann per einem weiteren Tabulatortastendruck in das nächste Editfeld wechseln und dort den richtigen Ausgabepfad eingeben.
Dann wiederum per zweifachem Tabulatortastendruck weitergehen dort per Pfeiltasten eine Konvertierungsart auswählen und dann nurnoch auf den "Run"-Button drücken (also per Tab-Taste auswählen und dann Enterdruck simulieren).

Zusammengefasst, habe ich ein Hauptproblem.
Ich habe es geschafft mittels meinem Programm die beiden Programme zu starten.
Jedoch schaffe ich es nicht, diesen beiden Programmen Tastendrücke zu "senden".
Ich habe mich 1 Stunde land informiert über Sendmessage SendKey und weitere Befehle, habe es aber nicht geschafft diese umzusetzen.

Optimal wäre es, wenn mein DELPHI Programm im Hintergrund laufen würde, sodass ich selbst am PC andere Dinge erledigen könnte, während im Hintergrund meine letzten Aufnahmen konvertiert werden.
Das heißt es wäre gut, wenn es ohne Aufrufe arbeiten würde, die die Konvertierprogramme in den Vordergrund rufen und es dürfte nicht von meinen Maus und Tastendrücken gestört werden.

Im Vorraus schon mal vielen Dank für eure Hilfe!!!
Liebe Grüße
Marcel :bounce1:

himitsu 7. Mai 2010 20:21

Re: Öffnen und Steuern von 2 Konvertierprogrammen mit Delphi
 
Zitat:

Zitat von kellerassel007
Beim ersten Programm soll mein Programm im Mainmenü unter "Datei" den Menüpunkt "Lade wtv" auswählen, dann einfach den Dateinamen eingeben (in ein erscheinendes Edit_Feld),einen Enterdruck simulieren

Schonmal probiert was passiert, wenn du die gewünschte Datei als Parameter übergibst?

MSDN-Library durchsuchenShellExecute, MSDN-Library durchsuchenShellExecuteEx, oder MSDN-Library durchsuchenCreateProcess
in der DP gibt es auch eine Hier im Forum suchenShellExecuteAndWait, welches das Programm startet und auf dessen Beendigung wartet.

DVRMSToolboxGUI ... heißt wohl, daß es davon auch eine Consolen-Variante gibt und diese läßt sich leichter steuern, also ebenso über einfache Parameter und ohne GUI-gefummle.

kellerassel007 7. Mai 2010 21:23

Re: Öffnen und Steuern von 2 Konvertierprogrammen mit Delphi
 
wo als parameter übergeben?

ich öffne die Programme bisher folgendermaßen:

Delphi-Quellcode:
ShellExecute(Application.Handle,'open',PChar(Form2.Edit2.Text),nil,nil,SW_SHOW);
Edit2 auf der Form2 beinhaltet den Pfad, wo der eine Konvertierer installiert ist.
Wo soll ich denn dann den Parameter einfügen?
statt einem nil?
Ich habe das mal versucht er verlangt aber einen Parameter vom Typ PAnsiChar.

Ich bin noch dabei statt der GUI eine cmd Version zu finden und damit etwas herum zu experimentieren.
aber bei dem ersten konvertierer gibt es die ganz sicher nicht.

also es wär super, wenn mir jemand nochmal erläutern könnte wie ich die sendkey methode von meinem delphiprogramm an den konvertiere benutze.
oder wie ich in die sendmessage methode einen tastendruck einbauen kann.

kellerassel007 7. Mai 2010 22:30

Re: Öffnen und Steuern von 2 Konvertierprogrammen mit Delphi
 
Also ich habe es inzwischen hinbekommen, den zweiten Editor, der von dvrms nach mpg konvertiert per cmd zu realisieren.
Ich habe mir dafür überlegt mit DELPHI eine bat Datei zu erstellen und diese muss ich dann nur noch mit dem folgenden Beispielcode füllen:
Code:
D:\UTL\DVRMSToolbox\DVRMStoMPEG.exe /if="INPUTPFAD" /of="OUTPUTPFAD" /act=dvrmstompg /p=16384
Klappt nach Testlauf ohne Probleme!


Die Hälfte ist geschafft,
nun muss ich nur noch einen Weg finden, den Konvertierer, der von WTV nach DVRMS umwandelt,
einzubauen.
Hier gibt es leider keine cmd-fähige Version.
Was mir vorschwebt ist, dass der Konverter von meinem DELPHI Programm nach dem Aufruf im Hintergrund, während ich im Vordergrund an anderen Dingen arbeiten kann, die richtigen Tasten und Mausklicks empfängt.
Gibt es nicht einen Befehl,der die zu simulierende Taste an das Programm sendet, also z.b. die Tabulatortaste oder einen linken Mausklick an die Stelle mit den Koordinaten x,y des geöffneten Programms?

kellerassel007 8. Mai 2010 01:32

Re: Öffnen und Steuern von 2 Konvertierprogrammen mit Delphi
 
GELÖST!!!!!!!!!!! :bounce1: :bouncing4: :cat:
NACH harter arbeit endlich gelöst :D
ich weiß ich sollte lieber ins Bett, aber was eine Freude,
Die Lösung ist ein cmd Programm, was schon von Windows mitgeliefert wurde.
ist im Windows Ordner unter ehome zu finden.
heißt WTVConverter.
Morgen lade ich mein Programm mal hoch könnte eventuell auch für andere Media Center Benutzer nützlich sein.
So geht die Konvertierung von WTV nach MPG mit einem Klick ^^
Und das direkt für alle aufgenommen Filme.

Bisher musste ich jeden einzeln manuell bei den Konvertern nacheinander eingeben (also den Pfad),
war ziemlich zeitraubend.
Nun geht alles mit einem Klick,
und einsortiert wird auch schon im richtigen Ordner (kann im Programm festgelegt werden, bei mir mein Laufwerk mit der externen Festplatte)

Also bis Morgen, dann kommt eventuell mein fertiges programm.

kellerassel007 12. Mai 2010 21:47

Re: Öffnen und Steuern von 2 Konvertierprogrammen mit Delphi
 
Lösung s. Automatischer TV-Konverter


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz