WinActivate funktioniert nicht zuverlässig... :(

  • Hallo,

    mein Script bedient ein Browserfenster (Firefox 6) in welchem ein JavaApplet mit Börsenkursen läuft. Da ich möchte, dass das Fenster immer aktiviert ist, lasse ich beim Skriptstart den Fenstertitel auslesen

    Code
    $title = WinGetTitle("Webseite", "")

    und periodisch (z.B. alle 10 Sek.) aktivieren,

    Code
    WinActivate($title)

    so dass das Fenster immer oben bleibt, falls mal ein anderes Fenster aufpoppen sollte und das Fenster eine bestimmte Größe behält

    Code
    WinMove($title,"",0, 0, 1024, 600)

    .


    Ich muss leider immer wieder feststellen, dass sich das Browserfenster nicht mehr aktivieren lässt, nachdem ein anderes Fenster aufgepoppt ist bzw. angeklickt wurde. Der Titel hat sich währenddessen nicht geändert und es wurde auch sonst keine Veränderunen gemacht.

    Woran kann das liegen?

    Gruß

    argo

  • Die WinActivate Funktion ist meines Wissens sehr zuverlässig, hat bei mir noch nie den Dienst quitiert.. somit muss irgend was an deinem Script nicht stimmen würdest du es uns bitte mal zeigen also am besten komplett ..


    // ich schätze es wird am Intervall liegen dass dieses nicht richtig durchgeführt wird oder ähnliches
    Gruß Marvin

  • Hallo argonautik,

    das ist kein Problem von WinActivate sondern liegt an der Art wie diese PopUp's erzeugt werden. Du könntest wenn so ein PopUp aktiv ist auch nicht über die Taskleiste dieses Browserfenster aktivieren, interessant wäre aber zu wissen bei welcher Webseite solche (warscheins BinLayerAd) Fenster erscheinen. Du läufst Gefahr dir durch MouseClick-Aktionen deines Skriptes in eine Abofalle zu laufen,

    mfg autoBert

  • Es ist kein Werbelayer, sondern ein JavaApplet, welches mich mit RealtimePush Börsenkursen versorgt. Ich habe den "Fehler" bereits gefunden, es lag daran, dass der $title nur einmal zu Beginn abgefragt wurde. Wenn ich die Abfrage mit ins Intervall mit Winactivate und Winmove packe, dann funktioniert es zuverlässig. Der Nachteil ist, dass ich die GUI vom Script nicht effektiv verschieben kann, weil das WinActivate immer dazwischenfunkt... Vielleicht kennt jemand eine Lösung.

  • Es ist kein Werbelayer, sondern ein JavaApplet, welches mich mit RealtimePush Börsenkursen versorgt. Ich habe den "Fehler" bereits gefunden, es lag daran, dass der $title nur einmal zu Beginn abgefragt wurde. Wenn ich die Abfrage mit ins Intervall mit Winactivate und Winmove packe, dann funktioniert es zuverlässig. Der Nachteil ist, dass ich die GUI vom Script nicht effektiv verschieben kann, weil das WinActivate immer dazwischenfunkt... Vielleicht kennt jemand eine Lösung.

    bin autoitanfänger aber das hab ich mal wo aufgeschnappt:
    du prüfts einfach ob deine gui aktiv ist, wenn du sie fürs verschieben anklickst müsste sie ja aktiv werden!?
    wenn aktiv dann tue nichts,
    wenn inaktiv dann mache das browserfenster aktiv:)
    du könntest zusätzlich die position deiner gui überprüfen (Wingetpos befehl), wenn sie sich nicht verändert hat dann mache das andere ding aktiv usw.
    keine ahnung ob das so möglich ist, probiers mal!

    Code
    If Not BitAnd(WinGetState("dein_GUI_Fenstername",""), 8) Then
        WinActivate($title)
    EndIf

    2 Mal editiert, zuletzt von m47 (5. Oktober 2011 um 15:41)