控制台程序要怎么写代码来修改系统的时间啊!请各位大虾帮帮我!
解决方案 »
- 错误代码: 检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件时失败
- Button上的文本运行时可以竖排显示吗?
- 一道月薪8000元的外企的面试题,写一个SQL语句!
- 关于三层架构,数据访问层实现的一个问题
- 谁有RTSP协议的详细说明?想实现个RTSP重定向功能,不知道从哪里入手。
- 有关用户控件的问题
- 菜鸟问题,在线等
- 怎么用C#将SQL数据库数据导出到自己已经排好版的word文件中
- C#.Net如何实现禁用网卡
- WINFORM 多线程操作DATAGRIDVIEW问题
- 如何将统计到的多个数据表的数据总数写到EXCEL文件中呢.在线急等高分
- 用SqlHelper类为什么返回不了值呢?
http://www.codeproject.com/csharp/Launch.asp?df=100&forumid=321204&exp=0&select=1563724
如:
[DllImport("kernel32.dll", SetLastError=true)]
public static extern int SetLocalTime (ref SystemTime lpSystemTime); 其中引用的结构定义如下:public struct SystemTime
{
public short wYear;
public short wMonth;
public short wDayOfWeek;
public short wDay;
public short wHour;
public short wMinute;
public short wSecond;
public short wMilliseconds;
}
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转换。
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);
}
///<summary>
///静态方法。转换为System.DateTime类型。
///</summary>
///<param name="time">SYSTEMTIME类型的时间。</param>
///<returns></returns>
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);
}
public void setTime()//一般
{
/*获得彩屏时间*/
ReceiveCanDataFromJK(0x50);//获得目录
int hour= CanData50[0,0,4]&0x1f;
int minute=CanData50[0,0,5]&0x3f;
int second= CanData50[0,0,6]&0x3f;
int minisecond= (CanData50[0,0,7]&0x7f)*10; //CanData50[0,0,7]百分秒
DateTime t = DateTime.Now; //获取当前时间
t=t.AddHours(hour-t.Hour);
t=t.AddMinutes(minute-t.Minute);
t=t.AddSeconds(second-t.Second);
t=t.AddMilliseconds(minisecond-t.Millisecond);
//转换System.DateTime到SYSTEMTIME
SYSTEMTIME st = new SYSTEMTIME();
st.FromDateTime(t);
//调用Win32 API设置系统时间
Win32API.SetLocalTime(ref st);
}
public class SystemTime
{
public ushort year;
public ushort month;
public ushort dayOfWeek;
public ushort day;
public ushort hour;
public ushort minute;
public ushort second;
public ushort milliseconds;
}
[DllImport("Kernel32.dll")]
public static extern void GetSystemTime([In, Out] SystemTime st);[DllImport("Kernel32.dll")]
public static extern bool SetSystemTime([In, Out] SystemTime st);SystemTime vSystemTime = new SystemTime();
GetSystemTime(vSystemTime);
vSystemTime.year += 1;
SetSystemTime(vSystemTime);