修改时间(50分)

  • 主题发起人 主题发起人 向前1
  • 开始时间 开始时间

向前1

Unregistered / Unconfirmed
GUEST, unregistred user!
请问怎样通过程序修改时间最简便
我的意思是,在程序中弹处一个窗口,显示系统现在的日期和时间,假如日期或时间有错误的话,就在窗口中可以修改,然后系统的时间相应就改变了。
怎样简单的实现?
 
setsystemtime
getsystemtime
 
now
setsys....
 
就用set systemtime
 
去找个第三方控件
 
最简单:用datetimepicker,一个显示日期,一个显示时间.
然后用SetLocaltime,而不是setsystemtime.setsystemtime是格林威治时间
用它的话,你的机器时间会提前8个小时.
我亲自用过的,没错!
 
1、定义变量
var SystemTime: TSystemTime;
  2、转换日期
DateTimeToSystemTime(StrToDatetime('1999-09-01 11:12:12'-StrToDateTime('8:00')),SystemTime);
  3、改变系统日期
SetSystemTime(SystemTime);
  到此系统日期已经改变,可是由于API函数SetSystemTime()本身使用的是格林威志时间,所以中国一定要减去8小时的时差。在你改变系统日期以后,等待一会,你会看到改变以后的时间。
 
程云得不错
 
从Tdatetime时间格式到system时间格式转换用到datetimetosystemtime函数
SetLocalTime可以直接设定本地时间而不用管它是哪个时区.

修改时间后任务栏上的时间显示不会马上跟着改过来,这时可以:
postmessage(hwnd_broadcast,WM_TIMECHANGE,0,0);
发一个消息给所有的窗口,任务栏上的时间就会立刻改过来了.
 
时间太久,强制结束。 wjiachun
 
后退
顶部