Deutsch
Experimente

Aktive Windows-Laufzeit ermitteln (ohne suspend-to-disk / Energiesparmodus-Zeit)

 

p.specht

Die DLL-Funktion timeGettime() der API ist (in XProfan-11) das Pendant zur XProfan-Variable &gettickcount und stellt die Zeit in Millisekunden seit dem Hochfahren von Windows dar - allerdings ohne Energiesparzeiten. Daher kann man relativ leicht eine "Uptime"-Funktion daraus machen, vorausgesetzt die Timerkapazität von 2^32 ms (1 Monate 2 Wochen 5 Tage etc.) wird nicht überschritten, was bei Servern aber leicht passieren kann. Anmerkung: Dem könnte man z.B. durch Mitschreiben der Wechsel von - auf + ergänzend beikommen, aber das überlasse ich anderen. Achtung: Das ganze verschwindet nach 5 Sekunden Anzeige-Zeit wieder vom Schirm - bitte nicht wundern!
Declare ue$,txt$,n&,tm!,ende&
ue$="    Dieses  Windows  läuft  ununterbrochen  seit  "
Windowstyle 24:font 2:Window 40,140 - %maxx-2*40,0:cls rgb(200,200,255)
repeat:locate 2,2:tm!=&gettickcount:case tm!<0:tm!=tm!+2^32'weil unsigned
txt$=ue$:n&=tm!/1000/60/60/24/365.2425

if n&>0:txt$=txt$+" "+format$("###########0",n&)+" Jahr"+if(n&>1,"en","")

    tm!=tm!-n&*1000*60*60*24*365.2425
    endif:n&=tm!/1000/60/60/24/30.436875

    if n&>0:txt$=txt$+" "+format$("###########0",n&)+" Monat"+if(n&>1,"en","")

        tm!=tm!-n&*1000*60*60*24*30.436875
        endif:n&=tm!/1000/60/60/24/7

        if n&>0:txt$=txt$+"  "+format$("###########0",n&)+" Woche"+if(n&>1,"n","")

            tm!=tm!-n&*1000*60*60*24*7
            endif:n&=tm!/1000/60/60/24

            if n&>0:txt$=txt$+"  "+format$("###########0",n&)+" Tag"+if(n&>1,"en","")

                tm!=tm!-n&*1000*60*60*24
                endif:n&=tm!/1000/60/60

                if n&>0:txt$=txt$+"  "+format$("###########0",n&)+" Stunde"+if(n&>1,"n","")

                    tm!=tm!-n&*1000*60*60
                    endif:n&=tm!/1000/60

                    if n&>0:txt$=txt$+"  "+format$("###########0",n&)+" Minute"+if(n&>1,"n","")

                        tm!=tm!-n&*1000*60
                        endif:n&=tm!/1000
                        txt$=txt$+"  "+format$("###########0",n&)," Sekunde"+if(n&>1,"n und"," und")
                        tm!=tm!-n&*1000:txt$=txt$+"  "+format$("###########0",tm!)+" Millisek."
                        WindowTitle upper$(txt$):waitinput 1000:inc ende&

                    until ende&>5'Sekunden Einblendzeit

                    End
 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
13.06.2021  
 



Zum Experiment


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

1.175 Betrachtungen

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

p.specht (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie