Rückgabewert wenn Download abgeschlossen möglich?



  • Ist es möglich einen Rückgabewert an die MediathekView.exe zu geben wenn die Downloads abgeschlossen sind oder keine Downloads da sind? Wie allgemein in aufgerufenen Programmen üblich könnte man definieren 0 = Fertig, keine Fehler oder kein Download, 2 = Download wird ausgeführt, 1 = Fehler. Der Hintergrund ist, dass ich immer noch nicht mit der Möglichkeit der automatisierung der MV fertig bin. Es ist wirklich schade, dass die commandline Option -fastauto abgeschafft wurde. Mein neuer Ansatz ist mit Autoit oder Batch die MediathekView.exe aufzurufen und wenn die Downloads beendet sind das Programm zu beenden. Den Prozess kann ich nicht einfach beenden, da sonst die Datenbank inkonsistent wird, oder ist das kein Problem? Ansonsten bitte ich diesen Beitrag in die Ideensammlung aufzunehmen.



  • @meistersun Was ich ja nicht verstehe. Wenn Du MV via Batch “automatisieren” möchtest, und den Returnwert im Batch abfragen möchtest (so interpretiere ich Deine Anfrage) , müsste sich MV dann nicht “automatisch” beenden?

    Das ist doch genau das Feature, dass es (zur Zeit) nicht gibt. Inwiefern würde Dir das dann helfen?



  • Bei der -fastauto option wurden alle möglichen Vorgänge ausgegeben. Diese sind nicht unbedingt nötig. Ich will nur wissen, wann die Downloads fertig sind, einen Rückgabewert bekommen und damit einen control q auslösen um das Programm zu beenden. Mehr nicht.



  • @meistersun ok, ich versteh offenbar nicht, was Du willst. Für mich ist ein Returnwert, ein Wert, den ein Programm beim/nach Beenden ausgibt. Wenn sich das Programm aber gar nicht automatisch beendet, hilft ein Returnwert auch nix.

    Aber Du meinst offensichtlich was anderes.



  • Zum Beispiel so etwas mit AutoIt:

    #include <MsgBoxConstants.au3>

    *Example()

    Func Example()
    ; Startet den Editor und wartet bis der Prozess nicht mehr existiert.
    Local $iReturn = RunWait(“notepad.exe”)

    ; Zeigt den Rückgabewert des Editorprozesses an.
    MsgBox($MB_SYSTEMMODAL, "", "The return code from Notepad was: " & $iReturn)
    

    EndFunc ;==>Example*

    Wenn man über die MediathekView.exe einen Rückgabewert bekäme dass die Downloads abgeschlossen sind, kann man einen Tastenbefehl mit Autoit senden, der das Programm beendet: Send{"^q"}



  • @meistersun sagte in Rückgabewert wenn Download abgeschlossen möglich?:

    ; Startet den Editor und wartet bis der Prozess nicht mehr existiert.

    Genau das mein ich. Wenn sich der Prozess aber nicht selbst beendet, wartest auf “bis der Prozess nicht mehr existiert” ewig.



  • Ja, geb ich zu. Vielleicht nicht ganz richtig dieses Beispiel aber während die Mediathekview.exe noch läuft, möchte ich gerne einen Rückgabewert haben, wenn die Downloads fertig sind. Oder eine Logmitteilung in einem Logfile würde mir auch reichen.



  • @meistersun sagte in Rückgabewert wenn Download abgeschlossen möglich?:

    Ja, geb ich zu. Vielleicht nicht ganz richtig dieses Beispiel aber während die Mediathekview.exe noch läuft, möchte ich gerne einen Rückgabewert haben, wenn die Downloads fertig sind.

    Hi,

    eine Möglichkeit wäre, mit TASKLIST die CPU-Zeit des Java-Prozesses zu überprüfen. Wenn die (z. B. bei Oracles JAVAW.Exe) über einen definierten Zeitraum unter 1-2 % liegt, ist die Wahrscheinlichkeit sehr hoch, dass die Downloads beendet sind. Danach könntest du vielleicht mit deinem AutoIt den Java-Prozess ordnungsgemäß beenden. (Taskkill /IM Prozessname könnte auch funktionieren). Probiere es einfach mal aus.



  • @meistersun sagte in Rückgabewert wenn Download abgeschlossen möglich?:

    Zum Beispiel so etwas mit AutoIt:

    Ich kenn AutoIt nicht, aber was ich gesehen habe, kann das doch Tastenkombinationen an ein Programm senden.

    Schick doch ein <alt>-<F4> dann müsste bei laufenden downloads (*) das kommen:

    d53d0362-9ece-41f2-a043-bc168476edda-image.png

    dann ein <cursor-down> mit <enter> (1x oder 2x?) und schon sollte sich MV nach den Downloads beenden.

    Dann klappts auch mit “warten bis der Prozess nicht mehr exisitiert”,

    (*) eventuell vorher noch downloads starten (<alt>-<o><cursor down><enter> bei 13.2.1)


  • Administrator

    Nein, MediathekView ist so nicht mehr dazu gedacht es zu automatisieren. Es wird aber ein headless Client wieder kommen. Ich habe da auch schon einen Prototypen weil ich ein paar Sachen ausprobiert habe der ist aber so noch nicht funktional.

    Bis dahin gibt es verschiedene Sktipte aus der Community. Finden sich im Forum einfach mal suchen 😉



  • Wenn man die headless-Funktionen braucht und nutzen will spricht auch nichts dagegen einfach eine ältere Version zu nutzen, die das noch kann, anstatt sich da irgendwelche komplizierte Workarounds zusammen zu schustern. Ist problemlos möglich.


Log in to reply
 

106
Online

3.8k
Users

3.1k
Topics

19.7k
Posts