Änderung des system-Datums -, Zeit -

Hallo zusammen ich weiss, dies wurde gebeten vor, aber ich brauche Hilfe ändern der system-datetime in c#. Während einer google-Suche fand ich eine website vorgeschlagen, die den folgenden code

public struct SYSTEMTIME 
{    
    public ushort wYear,wMonth,wDayOfWeek,wDay, wHour,wMinute,wSecond,wMilliseconds;
}

[DllImport("kernel32.dll")]
public extern static void GetSystemTime(ref SYSTEMTIME lpSystemTime);

///<param name="lpSystemTime">[in] Pointer to a SYSTEMTIME structure that
///contains the current system date and time.</param>
[DllImport("kernel32.dll")]
public extern static uint SetSystemTime(ref SYSTEMTIME lpSystemTime);

static void Main()
{    
    Console.WriteLine(DateTime.Now.ToString());
    SYSTEMTIME st = new SYSTEMTIME();
    GetSystemTime(ref st);
    Console.WriteLine("Adding 1 hour...");
    st.wHour = (ushort)(st.wHour + 1 % 24);
    if (SetSystemTime(ref st) == 0)
        Console.WriteLine("FAILURE: SetSystemTime failed");
    Console.WriteLine(DateTime.Now.ToString());
    Console.WriteLine("Setting time back...");
    st.wHour = (ushort)(st.wHour - 1 % 24);
    SetSystemTime(ref st);
    Console.WriteLine(DateTime.Now.ToString());
    Console.WriteLine("Press Enter to exit");
    Console.Read();
}

Aber wenn ich es von meinem system, es zeigt keine änderung in der aktuellen Datum/Zeit. Sollte ich änderungen vornehmen?

Edit: Hab die Nachricht FEHLER: SetSystemTime konnte, wenn ich versuchen zu laufen,

Dies ist z.B. für Testzwecke? Meistens ist es besser in solchen Situationen zu abstrahieren, aus dem Takt (so, entfernen Sie alle direkten Aufrufe von DateTime.Now), anstatt das hantieren mit der tatsächlichen Zeit.
Dieser code ändert Datum und wieder zurück. Es sei denn, Sie erhalten "FEHLER: SetSystemTime fehlgeschlagen" auf die Konsole - die Zeit wurde erfolgreich geändert.. Aber einige Millisekunden.. Entfernen "Zeit-Teil zurücksetzen", und die tune-code für Ihre Bedürfnisse.
Eigentlich hav ein Programm soll Daten generieren, die für ein bestimmtes Jahr angegeben durch den Benutzer. Dachte, es würde daran arbeiten das zu ändern system-dateTime-Wann immer der Benutzer wünscht, Meldung für dieses Jahr
Welche version von Windows Sie ausführen möchten mit diesem code auf? Da denke ich ist der Benutzer nicht Teil der Gruppe der Administratoren ist, dürfte es nicht funktionieren.
Meist für die Prüfung wirklich...in windows xp

InformationsquelleAutor Drake | 2014-04-01

Schreibe einen Kommentar