CPU-Auslastung - WinWaitActive

  • Hallo,

    Beim Versuch eine Dateiendung zu ändern, erscheint in Win7 immer die Meldung "Wenn Sie eine Dateinamenerweiterung ändern, wird die Datei möglicherweise unbrauchbar."
    Da sich diese Meldung offenbar nicht deaktivieren lässt, lasse ich die Meldung einfach wegklicken:

    [autoit]

    While 1
    WinWaitActive("Umbenennen")
    ControlClick("Umbenennen", "", "[CLASS:Button; INSTANCE:1]","left",1)
    WEnd

    [/autoit]


    Leider erzeugt der Prozess, der immer im Hintergrund laufen soll, eine CPU-Auslastung von ca. 5%.
    Das kommt mir etwas hoch vor.
    Wie kann ich das besser lösen?

    Grüsse t.

    Einmal editiert, zuletzt von tnuctipun (14. April 2014 um 20:50)

  • Mach einfach mal ein Sleep() mit 100 o.ä. rein.
    Dann werden wir sehen.

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski

  • Ja, ich bin mir ziemlich sicher, dass Autoit schuld ist, da sich das Verhalten im Taskmanager sowohl bei einer erstellten .exe als auch beim Ausführen der .au3 zeigt.

    Leider hat sich mit Sleep(100) nichts feststellbar geändert ?( .

    Kann man vielleicht irgendwo das Intervall einstellen, wie oft WinWaitActive nachschaut , ob das Fenster schon existiert?

  • Nein. Du kannst aber eine eigene WinWaitActive-Funktion bauen...
    (Im Browser getippt, daher kein Gewähr!)

    [autoit]


    Func WinWaitActiveEx($sTitle, $sText, $iCheckInterval = 100)
    Do
    Sleep($iCheckInterval)
    Until WinActive($sTitle, $sText)
    EndFunc

    [/autoit]

    Zumindest vom Sinn her...

    Gruß