新建一个类文件SystemDateTime.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace setDateTime
{
class SystemDateTime
{
[DllImport("Kernel32.dll")]
public static extern bool SetLocalTime(ref SystemTime sysTime);
[DllImport("Kernel32.dll")]
public static extern void GetLocalTime(ref SystemTime sysTime);
public static bool SetSysTime(DateTime newdatetime) { SystemTime st = new SystemTime();
st.wYear = (ushort)newdatetime.Year;
st.wMonth = (ushort)newdatetime.Month;
st.wDayOfWeek = (ushort)newdatetime.DayOfWeek;
st.wDay = (ushort)newdatetime.Day;
st.wHour = (ushort)newdatetime.Hour;
st.wMinute = (ushort)newdatetime.Minute;
st.wSecond = (ushort)newdatetime.Second;
st.wMiliseconds = (ushort)newdatetime.Millisecond;
return SystemDateTime.SetLocalTime(ref st); }}
[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 wMiliseconds;
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace setDateTime
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
DateTime dt = DateTime.Now.AddDays(-5);
this.Text = Form1.SetSysTime(dt).ToString();
}
}
}