WinGetState Rückgabewert 15 bzw. 7 ???

  • Tach zusammen,

    Kann mir einer sagen, was der Rückgabewert 15 bzw 7 von WinGetState zu bedeuten hat??
    Ich finde nix dazu.
    THX

    2 Mal editiert, zuletzt von MrB (7. Oktober 2008 um 21:45)

  • Moinsen,

    Zitat

    Multiple values are added together so use BitAND() to examine the part you are interested in:


    zu Deutsch:

    Zitat

    Dabei werden mehrere der nachfolgenden dargestellten Werte addiert. Die Funktion "BitAND()" kann dann zur Prüfung genutzt werden:


    Du musst, wie im Beispiel, alle Werte mit BitAnd abfragen, wenn Du genau wissen möchtest welche Bit-Flags gesetzt sind, oder eben nur die herausfischen, die für dich von Interesse sind. ;)

    Die aktuelle deutsche Hilfe bekommst Du hier:
    http://www.autoit.de/hilfe/


    Gruß
    Greenhorn


  • Thx Greenhorn,

    Wo hast du den Text dazu gefunden . Finde ihn weder in der Deutschen noch in der Englischen Hilfe

    Tja, nur kapier ich die Funktion nicht. Da muss ich mal ein wenig testen
    Aus Zeitgründen mal eine kurze Vermutung:

    Bei Wert 7 müsste folgendes stimmen
    1 = Fenster existiert.
    2 = Fenster ist sichtbar.
    4 = Fenster ist freigegeben.

    Bei Wert 15 :

    1 = Fenster existiert.
    2 = Fenster ist sichtbar.
    4 = Fenster ist freigegeben.
    8 = Fenster ist aktiv.

    Kann das so richtig sein, anders kommt man ja nicht auf die Werte 15 und 7
    Gruß
    MrB

    2 Mal editiert, zuletzt von GtaSpider (7. Oktober 2008 um 17:58)

    • Offizieller Beitrag

    WinGetState

    Mit Beispiel von dort sollte es klar werden:

    [autoit]

    ; Prüft ob ein neues Editor-Fenster minimiert ist
    $state = WinGetState("Unbenannt", "")

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

    ; Wurde der Werte für minimieren gesetzt?
    If BitAnd($state, 16) Then
    MsgBox(0, "Beispiel", "Fenster ist minimiert")
    EndIf

    [/autoit]

    peethebee

  • peethebee

    Dank Dir, habe irtümlicherweise die alte Hilfe für 3.1.0 benutzt . Mensch so langsam werd ich ganz schwammig in der Birne

    Aber meine Vermutung stimmte. Das Fenster gibt folgendes zurück: 15
    1 = Fenster existiert.
    2 = Fenster ist sichtbar.
    4 = Fenster ist freigegeben.
    8 = Fenster ist aktiv.

    Nur leider stimmt das nicht, denn das fenster ist nicht sichtbar und aktiv. Das Programm, wo das Problem besteht ist der xB Browser. Der verbindet zu Anfang zum Netzwerk und dabei ist das Fenster ("xB Browser") schon aktiv aber nicht sichtbar. Mit @SW_SHOW oder @SW_ENABLE wird es auchnicht sichtbar.
    Das Problem ist, das ich dem Script nicht sagen kann, das es warten soll bis das Browserfenster im Vordergrund ist bzw. sichtbar ist. WinWait und WinWaitActive funktionieren nicht. Beide erkennen das Fenster schon, obwohl am Bildschirm noch nix zu sehen ist.
    Ich weis nicht weiter.
    Naja, probieren probieren probieren ;)

    MfG
    MrB

  • Hmmm, dann versuche doch einmal SW_MAXIMIZE zu senden, wenn es schon "sichtbar" ist, dann müsste es sich maximieren lassen.
    Oder mit WinSetPos die Größe ändern ..., Du hast schon Recht: probieren, probieren, probieren ... :rolleyes:


    Gruß
    Greenhorn


  • Also, das probieren hat sich gelohnt. Nur zur Info, das Fenster lässt sich nicht beeinflussen. Zumindestens nicht mit meinem Wissen.

    Deswegen habe ich auf eine Methode gesetzt die kenne :) und zwar PixelChecksum. Damit wartet er halt bis das Fenster von sich aus aktiv und sichtbar wird.
    Funzt einwandfrei!

    Aber noch was anderes, gibt es bei der Funktion _FFLoadWait die Möglichkeit nicht bis zur 100% Marke zu warten sonder bei 50% zu stoppen??
    Hab´s schon gefunden :)

    THX to all
    MfG
    MrB

    Einmal editiert, zuletzt von MrB (7. Oktober 2008 um 21:44)