Tatsächliche Laufzeit eines Skripts ohne Standby- und Ruhezustandzeiten ermitteln

  • Hallo,
    mein allererster Beitrag, in dem ich gleich um Hilfe bitten muss :)

    In einer Endlosschleife wird nach der Existenz eines bestimmten Fensters (Werbung) gefragt und bei Vorhandensein geschlossen. Wie oft das passiert, zähle ich für eine Anzeige via TrayTip mit - so weit so gut.
    Nun hätte ich gerne die zugehörige tatsächliche, also aktive Laufzeit des Skripts ermittelt, da der PC von selbst (über Windows-Einstellung) oder manuell öfters in den Standby- oder Ruhezustand geht.
    Ein $Zeit_Start = TimerInit() am Beginn der Endlosschleife und ein $Zeit_Betrieb = $Zeit_Betrieb + TimerDiff($Zeit_Start) am Ende bringt es leider nicht => die aufsummierte Zeit entspricht der Zeit seit Start des Skripts, trotz z.B. Wiederstart des PC nach der Nachtruhe.

    Für einen Tipp schon jetzt herzlichen Dank!

  • Moin,

    mhh du müsstest in deiner Endlosschleife immer den Zwischenwert der Zeitdifferenz merken.
    Weicht dieser beim nächsten Durchlauf z.B. mehr als 10 Sekunden vom vorherigen ab (sprich zwischen deinen Durchläufen waren mehr als 10 Sekunden)
    war der Rechner wohl schlafen. Diese Differenz summierst du auf (weitere Variable)- und ziehst diese von der Gesamtzeit ab.

    Ob 10 Sekunden der ideale Werte ist müsste man Testen - wahrscheinlich reicht auch 1 Sekunde.

    Ich kanns im Monent leider nicht testen (mein Heimrechner kennt kein Stromsparen),

    BLinz

  • Hallo BLinz,

    danke für die schnelle Antwort - werde ich gleich ausprobieren!
    Ich hatte zwar gehofft, dass sowas wie Windows-Ticks eine eindeutige Lösung wären, aber mit Logik geht's natürlich auch :)

    Grüße, Corsair


    PS: Funktioniert für meine Zwecke einwandfrei; ich frage allerdings ab, ob eine Durchlaufzeit kleiner 10 sek. ist und summiere nur dann.

    Einmal editiert, zuletzt von Corsair (21. November 2011 um 22:06)

  • PS: Funktioniert für meine Zwecke einwandfrei; ich frage allerdings ab, ob eine Durchlaufzeit kleiner 10 sek. ist und summiere nur dann.


    Naja, du arbeitest umgekehrt wie ich gedacht habe - ich hätte aufsummiert was ich abziehen muss, du summierst die Laufzeit?
    Geht alles :thumbup: