Wann wurde meine Anwendung gestartet?

8

Was ist die Funktion, um Datum und Uhrzeit zu erhalten, zu der eine Anwendung ausgeführt wurde? Ich benutze Delphi.

    
Peter Turner 12.11.2009, 20:48
quelle

4 Antworten

15

Sie können den Windows-API-Aufruf für GetProcessTimes (deklariert) verwenden in Windows.pas), um Details für jeden Prozess zu erhalten.

Wenn es Ihre Anwendung ist, würde ich wahrscheinlich die Startzeit selbst erhalten und sie irgendwo aufzeichnen, um eine Historie zu behalten.

    
Bruce McGee 12.11.2009, 21:23
quelle
4

Ich bin mir nicht sicher, ob es dafür eine Funktion oder einen API-Aufruf gibt. Aber Sie können es ziemlich leicht vortäuschen. Erstellen Sie eine Einheit, die wie folgt aussieht:

%Vor%

Fügen Sie es der -Nutzungsliste Ihres DPR am Anfang entweder direkt oder unmittelbar nach einem beliebigen Eintrag hinzu, der "in der Liste zuerst aufgeführt werden muss", z. B. ein benutzerdefinierter Speichermanager.

    
Mason Wheeler 12.11.2009 21:19
quelle
2

Verwenden Sie NtQuerySystemInformation mit der Informationsklasse SystemProcessInformation. Dadurch wird ein Array von SYSTEM_PROCESSES-Strukturen (Datensätzen) zurückgegeben, von denen CreateTime den genauen Zeitpunkt enthält, zu dem die Anwendungen gestartet wurden:

%Vor%

Das haben wir bereits in Jedi Apilib (JwaNative)

übersetzt     
Remko 13.11.2009 08:12
quelle
1

Sie können die Startzeit Ihrer Anwendung in einer Textdatei oder Datenbank entweder in der DPR-Datei oder im OnCreate () -Ereignis Ihres Hauptformulars protokollieren lassen. Sie können die Now () -Funktion von Delphi verwenden, um das aktuelle Datum und die aktuelle Uhrzeit abzurufen und sie als Zeichenfolge mit FormatDateTime () oder DateTimeToStr () zu formatieren, je nachdem, was genau Sie tun möchten.

Der folgende Code speichert das Startdatum und die Startzeit während des Konstruktors des Hauptformulars in einer Textdatei im selben Ordner wie die Anwendung selbst mit dem Namen StartDateTime.txt:

%Vor%     
Ken White 12.11.2009 21:20
quelle

Tags und Links