Zwischenzeit berechnen

  • Hallo liebe User,

    ich bräuchte mal eure hilfe :) .... unzwar geht es darum das ich die zwischenzeit einer ausgeführten aktion brauche.... beispiel : Klick auf Windows explorer, explorer öffnet sich... ich will jetzt die zeit wissen wielange es gedauert hat, bis sich dieses fenster öffnet.

    Also

    # Run(""C:\Programme\Internet Explorer\iexplore.exe"","") - Time run - explorer gestartet- Time stop

    Super wäre es noch, wenn diese zeit im notepad eingetragen und gespeichert wird.

    Ich bedanke mich im vorraus :rock:

    Viele Grüße

    Baris

  • Warscheinlich weil dein/-e Fenstertitel nicht stimmen.
    Und veränder das WinwatActive zu Winwait wenn es nur geöffnet, nicht aktiviert sein soll

    EDIT: Wo stoppt es denn nach dem Notepad öffnen oder wo?

    ahhh hab jetzt WinActivate reingenommen anstatt Winwait ;) Super, jetzt klappt es:D freue mich... Herzlichen Dank.. eine Frage habe ich noch, kann ich die zeit in Sek. ausgeben?

  • Du hast den Wert in ms und brachst ihn in s d.h. du musst den Wert durch 1000 teilen:

    [autoit]

    $Zeit = 1500
    $NewZeit = mstos($Zeit)
    MsgBox(0, 1, "Zeit in ms: " & @TAB & $Zeit & @CRLF & "Zeit in s: " & @TAB & @TAB & $NewZeit)
    Func mstos($i)
    Return Round($i / 1000, 1);1 Nachkommastelle
    EndFunc ;==>mstos

    [/autoit]


    //Edit: Oh bin ich heute wieder langsam ;( ... :rolleyes:

    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist!

  • Guten Morgen,

    ich bin wieder ein wenig am automatisieren und habe mich gefragt ob die zwischen Zeit die berechnet wurde gespeichert werden kann, ohne was davon zu sehen.

    Sprich die Zeit wird berechnet, und eine Textdatei wird im C: Laufwerk abgelegt. Ohne das aufen Destop was zu sehen ist(es soll im Hintergrund ablaufen)

  • Probier mal dieses Script:

    Spoiler anzeigen
    [autoit]

    $Programm = "notepad.exe";muss angepasst werden
    $Titel = "Unbenannt - Editor";muss angepasst werden
    $Speicherpfad = "C:\Startlog.txt";muss angepasst werden

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

    $Zeit = GetStartTime($Programm,$Titel)
    FileWriteLine($Speicherpfad,$Programm&" benötigte : "&$Zeit&" Sekunden!"); Beispiel Log

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

    MsgBox(0,"Dateiinhalt",FileRead($Speicherpfad));Kontrolle (falls du gucken willst, ob er auch wirklich in die Datei geschrieben hat)

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

    Func mstos($i)
    Return Round($i / 1000, 1);1 Nachkommastelle
    EndFunc

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

    Func GetStartTime($Prog, $Titel)
    Local $t,$d
    $t=TimerInit()
    Run($Prog)
    WinWaitActive($Titel)
    $d=TimerDiff($t)
    Return mstos($d)
    EndFunc

    [/autoit]


    //Edit: Damit es wirklich im Hintergrund läuft und auch wirklich funktioniert brauchst du wahrscheinlich noch das folgende:

    [autoit]

    #RequireAdmin;zu Beginn des Scripts einfügen, damit du auf jeden fall Schreibrechte hast!(falls nötig)
    #NoTrayIcon; Entfernt das Trayicon, falls du es nicht haben willst

    [/autoit]

    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist!

  • Danke dir ;)
    ich werde es später wenn ich die benötigte zeit habe, es in mein script ein bauen ;) mal schauen was sich ergibt ;)