vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: System/Windows · Sonstiges   |   VB-Versionen: VB620.08.04
Wann wurde Windows gestartet?

Dieser Tipp verrät, wie sich ermitteln lässt, wann Windows gestartet wurde und wie lange die aktuelle Windows-Sitzung schon läuft.

Autor:   Dieter OtterBewertung:  Views:  11.658 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Heute zeigen wir Ihnen, wie sich ermitteln lässt, wann Windows gestartet wurde. Hierzu greifen wir auf die GetTickCount-Funktion aus dem Windows-API zurück, die uns die Zeit seit dem letzten Windowsstart in Millisekunden liefert.

Option Explicit
 
' Benötigt API-Deklarationen
Private Declare Function GetTickCount Lib "kernel32" () As Long
' Emitteln, wann Windows gestartet wurde
' Rückgabe erfolgt als Datum mit Uhrzeitangabe
Public Function SysStartDateTime() As Date
  Dim nSeconds As Variant
 
  nSeconds = GetTickCount() / 1000
  SysStartDateTime = DateAdd("s", -nSeconds, Now)
End Function

Die zweite Funktion rechnet die aktuelle Windows-Laufzeit in Tage, Stunden und Minuten um:

' Ermitteln, wie lange Windows schon läuft
' (Rückgabe im Format: Tage, Stunden, Minuten
Public Function SysTimeRunning() As String
  Dim nSeconds As Variant
  Dim vDate As Variant
  Dim nDays As Long
  Dim nHours As Long
  Dim nMin As Long
 
  nSeconds = GetTickCount() / 1000
  vDate = DateAdd("s", -nSeconds, Now)
 
  ' Tage
  nDays = DateDiff("d", vDate, Now)
  If nDays > 0 Then
    vDate = DateAdd("d", nDays, vDate)
  End If
 
  ' Stunden
  nHours = DateDiff("h", vDate, Now)
  If nHours > 0 Then
    vDate = DateAdd("h", nHours, vDate)
  End If
 
  ' Minuten
  nMin = DateDiff("n", vDate, Now)
  If nMin < 0 Then
    nHours = nHours - 1
    nMin = 60 - Abs(nMin)
  End If
 
  SysTimeRunning = CStr(nDays) & " Tag(e), " & _
    CStr(nHours) & " Stunde(n) und " & _
    CStr(nMin) & " Minuten(n)"
End Function



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.