Seite 2 von 2

Re: ElapsedMilliseconds() - Problem mit zu lang laufendem System

Verfasst: 28.10.2009 16:35
von Programie
Also bisher habe ich die Laufzeit des Servers immer aus der Verbindungszeit der LAN-Verbindung ausgelesen, da bei einem Server ja normalerweise die LAN-Verbindung nicht getrennt wird. ;)
Aber das wird wohl auch kein richtiges Ergebnis sein. Es kann ja auch mal sein, dass die LAN-Verbindung z.B. durch ein Update neugestartet wird...

Dann werde ich es eben mit dem Mini-Autostart-App machen.

Re: ElapsedMilliseconds() - Problem mit zu lang laufendem System

Verfasst: 28.10.2009 17:12
von Kiffi
@Programie:

hier noch eine Möglichkeit, die Bootzeit via WMI zu ermitteln:

Code: Alles auswählen

; dieses Beispiel benötigt COMatePLUS von srod:
; http://www.purecoder.net/comate.htm

IncludePath #PB_Compiler_Home + "srod\COMatePLUS\" ; Pfad anpassen!
XIncludeFile "COMatePLUS.pbi" 

Define objWMIService.COMateObject
Define colOperatingSystems.COMateEnumObject 
Define objOperatingSystem.COMateObject
Define strComputer.s

strComputer = "." 

objWMIService = COMate_GetObject("winmgmts:\\" + strComputer + "\root\cimv2", "") 
If objWMIService 
  colOperatingSystems = objWMIService\CreateEnumeration("ExecQuery('Select * FROM Win32_OperatingSystem')") 
  If colOperatingSystems 
    objOperatingSystem = colOperatingSystems\GetNextObject() 
    While objOperatingSystem 
      
      Debug "LastBootUpTime: " + FormatDate("%dd.%mm.%yyyy %hh:%ii:%ss", ParseDate("%yyyy%mm%dd%hh%ii%ss", Left(objOperatingSystem\GetStringProperty("LastBootUpTime"), 14)))
      
      objOperatingSystem\Release() 
      objOperatingSystem = colOperatingSystems\GetNextObject() 
    Wend 
    colOperatingSystems\Release() 
  EndIf 
  objWMIService\Release()  
EndIf
Grüße ... Kiffi

Re: ElapsedMilliseconds() - Problem mit zu lang laufendem System

Verfasst: 28.10.2009 19:27
von Programie
@Kiffi: Ich weiß nicht wie du das immer schaffst: Das funktioniert! :allright:

Bild

Vielen Dank! :praise:


//EDIT: Ich würde jetzt ja gern an den Thementitel "[gelöst]" oder so anhängen, aber da passt nichts mehr drann. :mrgreen:

Re: ElapsedMilliseconds() - Problem mit zu lang laufendem System

Verfasst: 28.10.2009 22:09
von bobobo
die letzte Startzeit aus dem Eventlog ginge wohl auch ..
(wie war das gleich mit dem Auslesen des Eventlogs ... ??) mit einem alten pbosl ging das mal..

Re: ElapsedMilliseconds() - Problem mit zu lang laufendem System

Verfasst: 31.10.2009 15:11
von Sicro
So könnte man es auch machen:

Code: Alles auswählen

Procedure.q ElapsedSeconds()
  If QueryPerformanceCounter_(@Counter.q)
    QueryPerformanceFrequency_(@Frequence.q)
    ProcedureReturn Counter / Frequence
  Else
    ProcedureReturn #False
  EndIf
EndProcedure
Mfg Sicro