try this:using System;
using System.Runtime.InteropServices;namespace ConsoleApplication20
{
[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 DateTime ToDateTime()
{
return new DateTime(wYear, wMonth, wDay, wHour, wMinute, wSecond,
wMilliseconds);
}
} class Win32API
{
[DllImport("Kernel32.dll")]
public static extern bool SetSystemTime(ref SYSTEMTIME st);
[DllImport("Kernel32.dll")]
public static extern void GetSystemTime(out SYSTEMTIME st);
} class Class1
{
[STAThread]
static void Main(string[] args)
{
SYSTEMTIME st;
Win32API.GetSystemTime(out st); // gets current time
Console.WriteLine( st.ToDateTime().ToLocalTime().ToString() );
st.wMinute++; // Adjust minutes
if (!Win32API.SetSystemTime(ref st)) // sets system time
Console.WriteLine("An error occured setting the system time");
Win32API.GetSystemTime(out st); // gets current time
Console.WriteLine( st.ToDateTime().ToLocalTime().ToString() );
Console.ReadLine();
}
}
}
using System.Runtime.InteropServices;namespace ConsoleApplication20
{
[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 DateTime ToDateTime()
{
return new DateTime(wYear, wMonth, wDay, wHour, wMinute, wSecond,
wMilliseconds);
}
} class Win32API
{
[DllImport("Kernel32.dll")]
public static extern bool SetSystemTime(ref SYSTEMTIME st);
[DllImport("Kernel32.dll")]
public static extern void GetSystemTime(out SYSTEMTIME st);
} class Class1
{
[STAThread]
static void Main(string[] args)
{
SYSTEMTIME st;
Win32API.GetSystemTime(out st); // gets current time
Console.WriteLine( st.ToDateTime().ToLocalTime().ToString() );
st.wMinute++; // Adjust minutes
if (!Win32API.SetSystemTime(ref st)) // sets system time
Console.WriteLine("An error occured setting the system time");
Win32API.GetSystemTime(out st); // gets current time
Console.WriteLine( st.ToDateTime().ToLocalTime().ToString() );
Console.ReadLine();
}
}
}
using System.Runtime.InteropServices;[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;
}public class Win32
{
[DllImport("Kernel32.dll")]
public static extern bool SetSystemTime( ref SystemTime sysTime );
[DllImport("Kernel32.dll")]
public static extern void GetSystemTime(ref SystemTime sysTime);
}public class TestPInvoke
{
public static void Main()
{
SystemTime sysTime =3D new SystemTime(); sysTime.wYear = 2002;
sysTime.wMonth=1;
sysTime.wDay=1;
sysTime.wDayOfWeek=1;
sysTime.wHour=1;
sysTime.wMinute=1;
sysTime.wSecond=1;
sysTime.wMiliseconds=1;
Win32.SetSystemTime(ref sysTime);
}
}
http://groups.google.com/groups?hl=zh-CN&lr=lang_zh-CN|lang_zh-TW|lang_en&ie=UTF-8&selm=O10nq1XjAHA.2184%40tkmsftngp02