Variable, die sich bei jedem Neustart ändert



  • Hi,
    ich suche irgendeine Variable, die eine gesamte System-Session über konstant bleibt und erst beim Neustart geändert wird. Ich habe da z.B. an den Rechner-Startzeitpunkt gedacht.
    Wie kann ich diesen abfragen bzw. was für alternativen gibt es?



  • du kannst mit GetTickCount() die Zeit in ms abfragen, die Seit dem systemstart vergangen ist...damit kommst du auch auf den Wert des Startzeitpunkts



  • Das ist so aber unschön. Gibt es nicht irgendeine alternative (muss nich umbedingt Systemstartzeit sein)?

    Ich möchte einfach nur meine Zufallszahlengenerator (srand) so initallisieren, dass bei einer gesamten Systemsession die Ergebnisse immer gleich sind.



  • das kann man so machen:

    srand( (unsigned)time( NULL ) );
    

    aber ich würde das bevorzugen, weil es IMMER noch andasser ist...:)

    srand( (unsigned)(int)(GetTickCount() / time( NULL )) );
    


  • Er möchte aber, dass rand() jedes Mal, wenn er das Programm startet, die gleichen Ergebnisse liefert, solange das System nicht neugestartet wurde.



  • Wenn alles nichts hilft, könntest du dir so eine "Variable" auch selber anlegen - leg dir eine Datei an, in die du bei jedem Systemstart (z.B. über den Autostart) einen neuen Wert einträgst.



  • CStoll schrieb:

    Wenn alles nichts hilft, könntest du dir so eine "Variable" auch selber anlegen - leg dir eine Datei an, in die du bei jedem Systemstart (z.B. über den Autostart) einen neuen Wert einträgst.

    Das ist wieder unschön, da der User diese Dateie löschen bzw. modifizieren kann.



  • Ja, allen Leuten kann man es niemals recht machen 😃



  • Hmmm...
    Ich würde mal in der Registry anfangen zu suchen...

    GetTickCount() lässt sich auf jeden Fall nicht verwenden, da es 1.) nach ~49 Tagen überläuft, und 2.) könnte die Zeit verstellt worden sein nach dem Booten - dann käme man beim "zurückrechnen" u.U. auf einen ganz anderen Wert.


Anmelden zum Antworten