Fensterabfrage

  • Hallo Autoi(t)eam,

    habe folgendes Problem.
    Wenn Fenster sichtbar, soll er mir nur ein Beep geben. Das funktioniert ja auch, nur einmal, so wie gewollt.
    Nach einer Aktion minimiere ich das Fenster.
    Das Programm befindet sich dann im Tray.
    Wenn jetzt wieder das Fenster geöffnet wird, soll wieder der beep erfolgen.

    Wo ist mein Denkfehler, könnt Ihr mir bitte helfen.

    $i = 0
    While 1

    If BitAnd(WinGetState("mein Fenster", ""), 2) Then sound1()

    WEnd

    Func sound1()
    While $i <= 0
    beep(100,500)
    $i = $i + 1
    WEnd
    EndFunc

    Einmal editiert, zuletzt von ruby (8. Dezember 2013 um 13:14)

  • du setzt $i nicht wieder zurück

    [autoit]


    Global $iSwitch = 0 ; habe dein $i mal umbenannt den $i wird meist in for schleifen genutzt.
    While 1

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

    If BitAnd(WinGetState("mein Fenster", ""), 2) Then
    sound1()
    Else
    iF $iSwitch <> 0 Then $iSwitch = 0
    Endif

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

    WEnd

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

    Func sound1(); hab ich umgestellt denn für einmal braucht man keine Schleife
    if $iSwitch = 0 Then
    beep(100,500)
    $iSwitch += 1; $iSwitch += 1 ist nichts anderes als $iSwitch = $iSwitch + 1
    Endif
    EndFunc

    [/autoit]