2 Popup-Fenster in Endlosschleife schließen

  • Hallo und guten Morgen.
    ich möchte ien Script haben, das mir 2 Fenster die häufiger aufgehen, automatisch wieder schließt.
    Ich habe mal folgenden Code geschrieben, um einen Test zu machen.
    if ProcessExists("Gesponserte Verbindung","Vielen Dank für Ihre Fairness") Then
    WinClose("Gesponserte Verbindung","Vielen Dank für Ihre Fairness")
    EndIf


    Aber ich bekomme dann immer den Fehler für Line 2
    if ^Error:
    Error: Incorrect number of parameters in function call.

    Das verstehe ich nicht. Laut der Hilfe brauchen die beiden Funktionen doch title und text.
    Soweit ich weiß, kann man den text sogar weglassen.
    Außerdem müsste ich noch ein 2tes Fenster schließen, wenn es aufklappt.
    Und das Script müsste dauernd laufen. Und immer, wenn eines der beiden Fenster aufgeht, wieder schließen.
    Zur Erklärung:
    Eines der Fenster ist z.B. das Popup von der kostenlosen Antivir-Software. Das geht immer nach einem erfolgreichen Update auf.
    Und weil es sich um einen Rechner handelt, der als Vidoeüberwachungssystem fungiert, läuft der rund um die Uhr.
    Also sollen beide Fenster immer automatisch geschlossen werden. Das Script läuft also auch rund um die Uhr.
    Kann da jemand helfen? Bin leider blutiger Anfänger.
    Danke schonmal für Interesse und Mühen.
    Gruß
    Stephan

    Einmal editiert, zuletzt von Quade (5. Februar 2010 um 10:57)

  • Hi ich versuch dir mal einen kleinen ansatz zu geben

    [autoit]


    While 1
    If WinExists("Fenstertitel1","") then
    WinClose("Fenstertitel1","") ;oder WinKill("Fenstertitel1","")
    ElseIf WinExists("Fenstertitel2","") then
    WinClose("Fenstertitel2","") ;oder WinKill("Fenstertitel2","")
    Endif
    Wend

    [/autoit]


    Leider kann ich nicht sagen ob es funzt habs nicht getestet


    Edit: wegen deinem error musst bei processexists keinen text angeben nur den processnamen;)

    [autoit]


    Func Ulam($n)
    Return 1
    EndFunc

    [/autoit]


    Rekursion FTW :D

    Einmal editiert, zuletzt von retrokid (5. Februar 2010 um 08:16)

  • Hallo retrokid,
    Dein Script funktioniert. Vielen Dank.
    Ich habe echt Probleme mit den Schleifen.
    Aber vielleicht lerne ich über solche Dinge Step-by-Step dazu.
    Also Danke nochmal und ein schönes WE.
    Gruß
    Stephan

  • ein tip noch:
    schreib mal in die whileschleife ne kleine sleep damit der pc nicht zu sehr überlastet wird also:

    [autoit]


    While 1
    If WinExists("Fenstertitel1","") then
    WinClose("Fenstertitel1","") ;oder WinKill("Fenstertitel1","")
    ElseIf WinExists("Fenstertitel2","") then
    WinClose("Fenstertitel2","") ;oder WinKill("Fenstertitel2","")
    Else
    Sleep(50)
    Endif
    Wend

    [/autoit]


    ;)

    [autoit]


    Func Ulam($n)
    Return 1
    EndFunc

    [/autoit]


    Rekursion FTW :D

  • Damit's weniger auslastet Select nehmen:)

    [autoit]

    While True
    Select
    Case WinExists("Fenstertitel1","")
    WinClose("Fenstertitel1","") ;oder WinKill("Fenstertitel1","")
    Case WinExists("Fenstertitel2","")
    WinClose("Fenstertitel2","") ;oder WinKill("Fenstertitel2","")
    EndSelect
    Sleep(200);kann ruhig ein bisschen mehr sein...
    Wend

    [/autoit]

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

  • Danke auch für die letzten beiden Tips. Ich werde die Pause übernehmen.
    Und vor allem Danke für die Mühen.
    Gruß
    Stephan