IE.au3 - SWF steuern

  • Guten Abend ;)

    Mit der SuFu hab ich nix gefundn und auch so im Internet nicht =( (Google etc)
    Nun dacht ich mir, frag ich euch mal xD

    Also, ist es möglich mit der IE.au3 oder FF.au3 ist dann egal, eine .swf zu steuern?
    Ist jetzt nicht für einen Bot falls ihr das denkt xD, nein es ist für eine Playliststeuerung (mixpod.com)
    Ist das möglich? - Im Prinzip ist egal wie umständlich ich das machen muss, hauptsache es geht^^

    Mfg ötzn

    Edit: Hab mal auf gelöst gestellt ;)

  • das hab ich mir auch schon gedacht..
    nur wenn ich das ganze mit _IECreate mache, verstecke ich den Internetexplorer

    d.h. ich kann ihn nicht direkt ansprechen? >.>
    dann wirds jet umständlich xD
    wenns gar nicht anders geht werd ichs mal so probiern:

    Code
    $width = @desktopwidth
    $height = @desktopheight
    ControlSend(mausklick)


    und vorher noch das ganze umrechnen, also im eigene browser die Koordinaten des Playbuttons herausfinden, verhältnis zu @desktopheight und width berechnen usw, aber ich denk das wird nichts, sollte ja protable sein und dann pfuscht mir das Seitenverhältnis drein (16:9,16:10,FullHD etc)
    =(

  • Stört dich die swf? Wenn nicht kannst du den IE auch sichtbar starten: mit dem Schalter: $f_visible[optional]
    Gibt an, ob das Browserfenster sichtbar sein soll.
    0 = Browserfenster ist versteckt 1 = (Standard) Browserfenster ist sichtbar
    LG

  • du kannst ein programm erfinden, welches den Flashplayer ersetzt und dann kannse machen was du willst - für viele bot schreiber ein traum haha.
    aber, dann musst du halt mit mouseclick machen, is ja nich so schwer, IE gibt dir schnell die bildschirm position des contorls und Au3info oder so gibt dir die control click pos....

    Dies ist ein Arzeneimittel.
    Bei Risiken und Haluzinationen fressen sie die Packungsbeilage und schlagen Sie ihren Arzt oder Apotheker.
    Jede Haftung wird abgelent.

    Vielen Dank für Ihre Kundentreue.
    mfg. TimBlo

    Aperture Science

    http://www.youtube.com/watch?v=Y6ljFaKRTrI

  • erst mal danke für die vielen Anworten
    ich hab das jet probiert mit Controlclick, aber er klickt einfach nicht
    Hier ist mal mein Code:

    [autoit]


    #include <IE.au3>
    #include <WinAPI.au3>
    Opt("WinTitleMatchMode",2)

    [/autoit][autoit][/autoit][autoit]

    $oIE = _IECreate("http://www.mixpod.com/playlist/30264262",0,1,0,0)
    $hWndIE = _IEPropertyGet($oIE,"hwnd")
    $sTitleIE = _WinAPI_GetWindowText($hWndIE)
    ;~ MsgBox(0,"Test",$sTitleIE)
    _IELoadWait($oIE)
    ;~ WinWaitActive("Windows Internet Explorer")
    ;~ MsgBox(0,"Test","Explorer aktiv!")
    ControlClick($sTitleIE,"","[CLASSNN:MacromediaFlashPlayerActiveX1]","left",1,535, 291)

    [/autoit]

    Sollte eigentlich funktionieren >.>
    hab auch schon statt CLASSNN CLASS probiert, mit oder ohne Instanzangabe => Kein Erfolg -.-

    gibts zu ControlClick ne funktionierende Alternative?

    Danke schon mal ;)

    EDIT: hatte ne variable nicht ganz kopiert :D

  • sry für Doppelpost, aber ich hab was gefunden :D

    [autoit]


    #include <IE.au3>
    #include <WinAPI.au3>
    Opt("WinTitleMatchMode",2)

    [/autoit][autoit][/autoit][autoit]

    $oIE = _IECreate("http://www.mixpod.com/playlist/30264262",0,1,0,0)
    $hWndIE = _IEPropertyGet($oIE,"hwnd")
    $sTitleIE = _WinAPI_GetWindowText($hWndIE)
    _IELoadWait($oIE)
    ControlClick($sTitleIE,"","[CLASS:MacromediaFlashPlayerActiveX; INSTANCE:1]","left",1,50,100)
    ;~ MsgBox(0,"Test",ControlGetHandle($sTitleIE,"","[CLASS:MacromediaFlashPlayerActiveX; INSTANCE:1]"))
    ;~ MsgBox(0,"Test",ControlGetText($sTitleIE,"","[CLASS:MacromediaFlashPlayerActiveX; INSTANCE:1]"))

    [/autoit]

    So, vom Code her hat sich nix geändert, außer den beiden auskommentierten Zeilen, ABER die sind wichtig xD

    hab herausgefunden, dass ich das Control mit den Einstellungen oben sehr wohl ansprechen KÖNNTE, bzw ich es indentifizieren kann (Handle wird zurückgegeben) auch ControlClick gibt mir 1 zurück, was laut Hilfe Erfolg bedeutet,
    nur das Problem ist: Es tut sich nichts >.>
    Eigentlich sollte er auf den Play/Pause "Button" klicken, macht er aber nicht (Kor: 50/100 im Control)

    Hat noch wer ne Idee? - Ich probier später oder vl morgn noch bisschen rum, und wenn sich nix mehr tut, dann geb ichs auf^^

  • Hallo,

    das scheint dort nicht der YouTube-Player zu sein, folgedessen funktioniert die UDF dort nicht.

    Was möchtest Du denn alles machen?

    Beispiele:

    [autoit]

    ; aktuelles Lied stoppen
    _FFCmd("content.wrappedJSObject.getSWF('mixpodPlayer').sendStop()")
    ; Lied abspielen:
    _FFCmd("content.wrappedJSObject.getSWF('mixpodPlayer').playSong()")
    ; Lied aus der Playlist abspielen (index 0-n) z.B. 3tes Lied
    _FFCmd("content.wrappedJSObject.getSWF('mixpodPlayer').playSong(2)")

    [/autoit]

    [EDIT]
    Mehr finde ich da auf die Schnelle auch nicht heraus.

    Einmal editiert, zuletzt von Stilgar (20. November 2009 um 11:45)

  • Ich hab in FireFox mal ein bisschen mit Venkman (JavaScript Debugger) über die Seite gesehen.
    Es geht aber auch einfacher evtl. mit dem "JavaScript Deobfuscator", der zeigt alle Funktionen an, die auf einer Seite ausgeführt werden. Beides sind FF-Addons.

  • ok, klingt interessant

    werd ich mir mal ansehen wenn ich wieder auf meinem Home-PC bin xD (Mittag)

    Noch ne Frage, ich bin zwar selbst ein FF-Fan aber um das ganze Programm portable zu machen, muss ich ja entweder IE verwenden oder der andere Benutzer muss FF installiert haben, sehe ich das richtig?

    um zur Frage zu kommen, gibt es eine IE Funktion die man ca mit der _FFCmd gleichstellen kann?

    Wenn nicht dann mach ich das Programm halt nur für mich :D

    Danke nochmal, hast mir sehr geholfen ;)

  • Noch ne Frage, ich bin zwar selbst ein FF-Fan aber um das ganze Programm portable zu machen, muss ich ja entweder IE verwenden oder der andere Benutzer muss FF installiert haben, sehe ich das richtig?


    Ja richtig. Allerdings, wenn bei neuen Windows-Versionen die Auswahl des Browser dem Benutzer überlassen bleibt, erübrigt sich die Frage ... bzw. es wäre schon seeehr seltsam, wenn, obwohl er nicht installiert ist, die IE.au3 dennoch einen IE herbeizaubert.

    um zur Frage zu kommen, gibt es eine IE Funktion die man ca mit der _FFCmd gleichstellen kann?

    Wenn nicht dann mach ich das Programm halt nur für mich :D

    Danke nochmal, hast mir sehr geholfen ;)


    Eine ähnliche Funktion gibt es nicht. Aber der als Beispiel sollte den beiden Sachen identisch sein:
    _FFCmd(".getElementById('test')")
    $oIE.getElementById("test")
    Allerdings bei IE nur mit Zugriff auf das Dokument, bzw. einige Sachen des Browser. Bei FF kompletter Zugriff auf alles, inklusiv AddOns.

  • Stimmt da hast du recht, aber ich denke ich dann bei FF bleiben, muss sich derjenige der das Programm nutzen will halt FF installiern :D

    Ich hab mir mal beide Addons installiert, aber da ich mich JS so gut wie nicht auskenne, find ich keine Befehle..
    könntest du dir die Seite nochmal ansehen? - Wäre echt nett, ich versuch derzeit ob ich die notwendigen Befehle mit den gegebenen realisieren kann ;)

    Danke,