Wince修改系统时间问题

       当我们需要修改到系统时间的时候,需要用到下面四个函数:SetLoaclTime,GetLocalTime,SetSystemTime,GetSystemTime。这四个函数是用来修改或者设置系统时间的。
      先说一下这四个函数中的一点区别,显而易见的是,其实是两对函数,其中SetLocalTime和GetLocalTime是获取和设置本地的系统时间。另外一对也是大致这个含义。但是,在使用上,我们使用Local这两个函数用于一些小的时间改动比较便利,而用到System那两个函数的时候。就会全部对系统时间进行重新赋值,效率并不高。
   同时,由于SetLocalTime设置的当地的系统时间,而SetSystemTime设置的是格林威治时间,例如北京时间和格林威治时间存在8个小时的时区差异。
      再说另一个问题,当我们修改时间为2099年之后呢,会出现一个问题,会导致程序卡死的现象,具体原因呢?原来,在wince系统中,时间设置只有100年,即2000到2099年。所以当我们需要修改超过2099年的时候,系统会重复的调用 OEMGetRealTime 这个函数,从而导致系统资源被占用,造成进程卡死的现象。所以在wince下修改系统时间需要注意着几个问题。

 

posted @ 2013-07-03 21:16  爱生活,爱编程  阅读(847)  评论(0编辑  收藏  举报