GUI Status auslesen

  • Guten Abend zusammen,
    Wie kann ich den Status meines GUIs auslesen? Z.b ob es Minimiert maximiert ist etc... ? :D

  • hm... bei mir funktioniert das nicht so ganz 8|

    Hier ein kleiner ausschnitt:

    [autoit]

    Func _Log ($Data) _Chatbox_SetData($History, $Data & @CRLF) _GUICtrlEdit_LineScroll ($History, 0, _GUICtrlEdit_GetLineCount ($History) - 1) If WinGetState($GUI,"") = 16 Then SoundSetWaveVolume(0) Else SoundSetWaveVolume(100) SoundPlay(@scriptdir&"\png\message.mp3") EndIfEndFunc

    [/autoit]
  • Einfach nur Hilfe lesen... :P
    Den Titel des Fensters, nicht das GUI Handle nehmen!

    Zitat von Hilfe

    Der Titel des Fensters, das gelesen werden soll. Siehe Erweiterte Fenstertiteldefinition.

    Außerdem ist dein Code nicht richtig eingebettet, die ganzen Absätze fehlen (zumindest bei mir).

  • hm... mein Programm heißt Easy Chat aber wenn ich das dort eingebe bugs das immer noch rum :o


    Func _Log ($Data)
    _Chatbox_SetData($History, $Data & @CRLF)
    _GUICtrlEdit_LineScroll ($History, 0, _GUICtrlEdit_GetLineCount ($History) - 1)
    If WinGetState("Easy Chat") = 16 Then
    SoundSetWaveVolume(100)
    SoundPlay(@scriptdir&"\png\message.mp3")
    Else
    SoundSetWaveVolume(0)
    EndIf
    EndFunc

  • Einfach nur Hilfe lesen... :PDen Titel des Fensters, nicht das GUI Handle nehmen! Zitat von »Hilfe«Der Titel des Fensters, das gelesen werden soll. Siehe Erweiterte Fenstertiteldefinition.Außerdem ist dein Code nicht richtig eingebettet, die ganzen Absätze fehlen (zumindest bei mir).

    Falsch!

    Zitat von Hilfe

    Fenster Handles / HWNDs
    Der Datentyp 'Variant' in AutoIt unterstützt von Haus aus Fenster-Handles (HWNDs). Ein Fenster-Handle ist ein spezieller Wert, den Windows jedesmal dann einem Fenster zuordnet, sobald eines erstellt wird. Kennt man ein Fenster-Handle, kann man es an Stelle des Titel Parameters in jedem Funktionsaufruf nutzen, der die Titel/Text Vereinbarungen erfüllt. Der Vorteil bei der Nutzung der Fenster-Handles ist der, dass wenn man mehrere Kopien einer Applikation geöffnet hat, -die alle den selben Titel/Text haben- man diese eindeutig über ihre Fenster-Handles identifizieren kann. Wenn man ein Fenster-Handle als Titel Parameter nutzt, dann wird der Text Parameter vollständig ignoriert.

    es ist dadurch sogar eindeutig.

    mfg autoBert

  • autoBert:

    Wusste ich noch nicht, gut zu wissen, danke! :)

    @Captcha:

    Du kannst also doch das Handle, also $GUI nutzen, war da wohl falsch informiert...
    Was genau klappt denn nicht?
    In der Hilfe ist dazu auch ein gutes Beispiel:

    [autoit]

    ; Prüft ob ein neues Editor-Fenster minimiert ist
    $state = WinGetState("[CLASS:Notepad]", "")

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

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

    [/autoit]