Aktuelle Uhrzeit auslesen

  • VB.NET

Es gibt 39 Antworten in diesem Thema. Der letzte Beitrag () ist von kai996.

    Ähh, stimmt. :D
    Das hab ich schon mit Absicht so gemacht. Erst wollte wissen, wie der Computer im heruntergefahrenden Modus die Uhrzeit noch auslesen kann. Dann wollte ich wissen, ob man diese Uhrzeit ebenfalls mit einem selbstprogrammierten Programm auslesen könnte.
    Das Motherboard hat einen akkugestützten Quarz mit Zeitmimik, da wird die Zeit einfach weitergezählt.
    Ist der Akku alle, fängt die Uhr beim Booten bei 0 wieder an (1.1.1970 oder so was krummes).
    Das ist halt die Bios-Zeit, such mal danach.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Michael K. schrieb:

    Wow, schicke Erfindung.
    Das merkst Du erst dann, wenn er alle ist.
    Wenn Du dann nämlich einen neuen reinmachst, wird auch gleichzeitig das BIOS zurückgesetzt.
    Also:
    Ggf. mal die Bios-Einstellungen abschreiben.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Und wie lange reicht das Bios?
    Auf jeden Fall, ich habe hier mal was gefunden:

    VB.NET-Quellcode

    1. Dim search As New ManagementObjectSearcher("SELECT * FROM Win32_BIOS")
    2. Dim info As ManagementObject
    3. Dim text As String
    4. For Each info In search.Get()
    5. text = text & ("ID-Tag: " & info("SerialNumber").ToString())
    6. Next
    7. MessageBox.Show(text)


    Was wird hier ausgelesen?
    Die SerienNummeR?...
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Achja genau:
    Ich habe da ein Programm geschrieben, was, wenn die Uhrzeit geändert wurde Alarm schlägt. Das Programm schreibt die aktuelle Uhrzeit in der Registry mit. Wenn also jetzt die Uhrzeit geändert wurde heißt es Now.AddSeconds(1) für den Registry-Uhrzeit-Wert. Das klappt alles perfekt, auch wenn das Benutzerkonto abgemeldet wird, denn dann kann man ja eben ein Programm in den Autostart setzen, was das Uhrzeit-Überwachungsprogramm wieder startet, wenn keine Beschwerden in der Registry vorliegen.
    Der einzige Fehler ist, wenn jetzt die Uhrzeit geändert wurde, so zählt das Programm, die Uhrzeit weiter, die vor dem Umstellung der Systemzeit war. Und das ist es. Wenn das Benutzerkonto abgemeldet, der Computer heruntergefahren oder im Energiesparmodus ist, wird das Überwachungsprogramm die alte Zeit in der Registry nicht fortführen können. Und da fehlt mir jetzt, dass das Programm weiter zählt. Ich hoffe verständlich genug erklärt.

    Michael K. schrieb:

    wenn die Uhrzeit geändert wurde Alarm schlägt.
    Wie oft kommen denn die grünen Männlein und ändern an Deinem Rechner die Uhrzeit?
    Mach lieber in die Autostart rein, dass die aktuelle Uhrzeit von einem Zeitserver gelesen und gesetzt wird.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Vom Internet?-Würde auch gehen.
    Wenn ich aber jetzt z.B. das Autostartprogramm(was mein Uhrzeitprogramm startet) nocheinmal starte, könnte das gehen, aber dafür müsste ich wissen, wie man überprüft, ob jemand gerade den Computer aus dem Energiesparmodus weckt. Also wenn man dann gerade den Computer wieder aus dem Energiesparmodus weckt, so soll das Autostartprogramm gestartet werden.

    Fazit:
    Wie überprüft man, ob sich der Benutzer in seinem Benutzerkonto befindet oder nicht.

    Michael K. schrieb:

    Vom Internet?-Würde auch gehen.
    Das ist sowieso schon in Windows eingebaut...
    Klick auf: Datum- und Uhrzeitseinstellungen ändern -> Internetzeit -> Einstellungen ändern... -> Hackerl bei Mit einem Internetzeitserver synchronisieren
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Weiß jemand, wie man überprüft, wann sich der Benutzer aus dem gesperrten Modus des Kontos wieder anmeldet? Das Konto ist nicht abgemeldet. Nur gesperrt.
    Also eben ein zweiter Autostart, nur der wird von meinem Programm ausgelöst, da das im gesperrten Modus noch aktiv ist.
    Was hast denn Du für ein Betriebssystem?
    Meines (W7-64) fragt die Atomuhr, welch Zeit geschlagen sein.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Aber im Forum biste. :D

    RodFromGermany schrieb:

    Wie oft kommen denn die grünen Männlein und ändern an Deinem Rechner die Uhrzeit?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Also hiermit:

    VB.NET-Quellcode

    1. Private Function GetRemoteUser(ByVal Computer As String) As String
    2. Dim objWMIService As Object
    3. Dim objItems As Object
    4. Dim objItem As Object
    5. GetRemoteUser = ""
    6. objWMIService = GetObject("winmgmts:\\" & Computer & "\root\CIMV2")
    7. objItems = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem")
    8. For Each objItem In objItems
    9. GetRemoteUser = objItem.Username
    10. Next
    11. objWMIService = Nothing
    12. objItems = Nothing
    13. objItem = Nothing
    14. End Function


    Wird der Benutzer angezeigt, der das Programm ausführt. Wie kann man denn herausfinden, ob der Benutzer sich gerade auf dem Anmeldebildschirm befindet, d.h. sich nicht in seinem Benutzerkonto befindet.
    Was sagt Dein Snippet zu Option Strict On?
    Die Syntax, dass der Name einer Funktion ihr Rückgabewert ist sollte genau wie Form2.Show() der Vergangenheit angehören.

    Michael K. schrieb:

    VB.NET-Quellcode

    1. For Each objItem In objItems
    Welcher von denen ist denn eigentlich der richtige?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Guten Abend allerseits,

    ich möchte kein neues Thema erstellen, da meine Frage hier bestens rein passt. Ich brauche nur die Uhrzeit, ohne das Datum. Ich habs schon gegoogelt, entweder ich lande hier oder ich bekomme die Anleitung zum "System.Datetime" schreiben, aber da kommt das Datum mit. Mag sein, dass ich grad blind bin oder sonst was...

    Ich will eine Binäruhr schreiben, dazu wäre die Uhrzeit hilfreich. Das System liefert diese ja, also kann ich die ja benutzen. Nächster Schritt wäre dann das zerlegen der Segmente in Sekunden, Minuten und Stunden. Den Rest habe ich quasi schon fertig.

    VG
    Eine Pizza auf einer Pizza sind 2 Pizzen

    Eine Lasagne auf einer Lasagne ergibt 1 große Lasagne