如何通过C#修改Windows操作系统时间 | 您所在的位置:网站首页 › 电脑怎么改系统日期 › 如何通过C#修改Windows操作系统时间 |
{
///
///
///
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;
///
/// 从System.DateTime转换。
///
/// System.DateTime类型的时间。
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;
}
///
/// 转换为System.DateTime类型。
///
///
public DateTime ToDateTime()
{
return new DateTime(wYear, wMonth, wDay, wHour, wMinute, wSecond, wMilliseconds);
}
///
/// 静态方法。转换为System.DateTime类型。
///
/// SYSTEMTIME类型的时间。
///
public static DateTime ToDateTime(SYSTEMTIME time)
{
return time.ToDateTime();
}
}
public class Win32API
{
[DllImport("Kernel32.dll")]
public static extern bool SetLocalTime( ref SYSTEMTIME Time );
[DllImport("Kernel32.dll")]
public static extern void GetLocalTime(ref SYSTEMTIME Time);
}
}
然后再需要的地方通过调用如下方法中间的核心代码来实现修改Windows操作系统时间,例如,通过Button的Click事件实现修改Windows操作系统时间: private void button1_Click(object sender, System.EventArgs e) { //取得当前系统时间 DateTime t = DateTime.Now; //在当前时间上加上一周 t = t.AddDays(7); //转换System.DateTime到SYSTEMTIME SYSTEMTIME st = new SYSTEMTIME(); st.FromDateTime(t); //调用Win32 API设置系统时间 Win32API.SetLocalTime(ref st); //显示当前时间 MessageBox.Show(DateTime.Now.ToString()); }
|
CopyRight 2018-2019 实验室设备网 版权所有 |