Timer

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Timers;

namespace RIS2
{
	public class TimerClass
	{
		private static Timer timer;

		/// <summary>
		/// 
		/// </summary>
		/// <param name="Interval">Gets or sets the interval, expressed in milliseconds, at which to raise the Elapsed event.</param>
		/// <param name="OnTimedEvent"></param>
		public static void SetTimerAndStart(int Interval, ElapsedEventHandler OnTimedEvent)
		{
			Stop();
			timer = new Timer();
			timer.Interval = Interval;
			timer.Elapsed += OnTimedEvent;
			timer.AutoReset = true;
			timer.Start();
		}

		public static void Stop()
		{
			if (timer != null)
			{
				timer.Stop();
				timer.Dispose();
			}
		}

		public static void OnTimed(Object source, ElapsedEventArgs e)
		{
			MessageBox.Show("Timed");
		}
	}
}

修改系统时间

[StructLayout(LayoutKind.Sequential)]
public struct SystemTime
{
    public ushort wYear;
    public ushort wMonth;
    public ushort wDayOfWeek;
    public ushort wDay;
    public ushort wHour;
    public ushort wMinute;
    public ushort wSecond;
    public ushort wMilliseconds;

    public void FromDateTime(DateTime time)
    {
        wYear = (ushort)time.Year;
        wMonth = (ushort)time.Month;
        wDayOfWeek = (ushort)time.DayOfWeek;
        wDay = (ushort)time.Day;
        wHour = (ushort)time.Hour;
        wMinute = (ushort)time.Minute;
        wSecond = (ushort)time.Second;
        wMilliseconds = (ushort)time.Millisecond;
    }
}


[DllImport("Kernel32.dll")]
public static extern bool SetLocalTime(ref SystemTime Time);

[DllImport("Kernel32.dll")]
public static extern void GetLocalTime(ref SystemTime sysTime);	

private void btn_SetLocalTime_Click(object sender, RoutedEventArgs e)
{
	SystemTime MySystemTime = new SystemTime();
	GetLocalTime(ref MySystemTime);

	MySystemTime.FromDateTime(DateTime.Now.AddHours(2));
	SetLocalTime(ref MySystemTime);
}