Ä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
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
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
sollten Sie verwenden coredll.dll zum Archiv..
Habe ich es nicht getestet. aber ich hoffe, es wird
er arbeitete früher für mich.. und das ist aus der msdn-Dokumentation msdn.microsoft.com/en-us/library/ms172517(v=vs. 90).aspx
coredll ist eine Ausnahme zu werfen tho...sagt, seine nicht unterstützt
Pasunoori, die In dieser Dokumentation klar geschrieben, dass es nur verfügbar in derzeit verlassenen "von Microsoft .NET Compact Framework" Projekt - sehr eingeschränkte-version .NET Framework bietet schon auf auch veraltete Windows CE 6 und Windows Mobile 6) in den Jahren 2006-2009.
danke für die Klärung..
InformationsquelleAutor Chandan Pasunoori