wince 5 ,时区设置相同(有夏令时),PDA 与PC通过ActiveSync同步后时间相差1小时的问题

[复制链接]
查看11 | 回复9 | 2021-1-27 06:59:34 | 显示全部楼层 |阅读模式
系统为wince5
PDA与PC设置同一时区GMT-08:00(有夏令时),年月日都设置为相同2009-03-31,PC此刻时间为16:00,activesync同步后,PDA时间与PC时间相差一小时,PDA时间为2009-03-315:00pm.
但是在同步后保存日期和时钟到注册表(2009-03-315:00pm),重新reset后,启动起来初始化时用注册表里保存得时间设置时钟,PDA显示是2009-03-314:00pm.
有没有人遇到过类似得问题,另外,关于控制面板设置系统时间得代码在哪里?
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:59:34 | 显示全部楼层
补充一点,根据夏令时自动调节时钟是选中的
回复

使用道具 举报

千问 | 2021-1-27 06:59:34 | 显示全部楼层
你的PC上有没有选中夏时制??
回复

使用道具 举报

千问 | 2021-1-27 06:59:34 | 显示全部楼层
选中了.
回复

使用道具 举报

千问 | 2021-1-27 06:59:34 | 显示全部楼层
各位大侠,没有遇到过这个问题吗!
回复

使用道具 举报

千问 | 2021-1-27 06:59:34 | 显示全部楼层
看表现是PDA获取了时间更新了注册表,但是没有实时显示。重启后能显示正确时间。
你应该查查为什么不更新实时显示的时间。
回复

使用道具 举报

千问 | 2021-1-27 06:59:34 | 显示全部楼层
在WindowsMobile里面,这个问题是通过将“常住城市”和“访问城市”的时区设成一样来解决的,但是在WinCE里面,控制面板的时间里面看到的时区应该只是“常住城市”的时区。通过在Platform.reg里面加以下键值,可以将默认的“访问城市”的时区设成“GMT+8北京”
[HKEY_LOCAL_MACHINE\Software\Microsoft\Clock]
"AppInfo"=hex:01,00,00,00,31,00,00,00,D2,00,00,00,00,00,00,00,00,00,00,00,80,01,00,\
00,D2,00,00,00,00,00,00,00,00,00,00,00
字串的意义不是很明白,如果需要改成其他时区,可以通过微软的WindowsMobile模拟器,修改“访问城市”时区后,再读取这个键值来得到。
回复

使用道具 举报

千问 | 2021-1-27 06:59:34 | 显示全部楼层
引用5楼shuiyan的回复:看表现是PDA获取了时间更新了注册表,但是没有实时显示。重启后能显示正确时间。
你应该查查为什么不更新实时显示的时间。

有道理啊,我查找了控制面板关于时间设定部分的代码和关于夏令时(DST)的代码.
搜索了相关的网页,把SetLocalTime函数调用两次。
编译后usb经常联不上activesync。偶尔能连上时测试同步时间是相同的,于是我修改了相同的地方在另外一台计算机上编译,但是编译后的同步时间还是不对,差一小时,因为我修改的代码是
C:\WINCE500\PUBLIC\WCESHELLFE\OAK\TASKMAN\dst.cpp
C:\WINCE500\PUBLIC\WCESHELLFE\OAK\CTLPNL\CPLMAIN\datetime.cpp
涉及到了这两个目录,不知道为什么我的笔记本上编译的同步时间一致,但usb经常连不上activesync。
而在另一台计算机上编译的结果,同步时间还是有问题,但usb连接正常。

回复

使用道具 举报

千问 | 2021-1-27 06:59:34 | 显示全部楼层
引用6楼wd1394的回复:在WindowsMobile里面,这个问题是通过将“常住城市”和“访问城市”的时区设成一样来解决的,但是在WinCE里面,控制面板的时间里面看到的时区应该只是“常住城市”的时区。通过在Platform.reg里面加以下键值,可以将默认的“访问城市”的时区设成“GMT+8北京”
[HKEY_LOCAL_MACHINE\Software\Microsoft\Clock]
"AppInfo"=hex:01,00,00,00,31,00,00,00,D2,00,00,00,00,00,00,00,00,00,00,00,80,01,00,\
00,D2,00,00,00,…

我们买的一个hp的winmoble的pda是同步时间相同的,发现他的设置系统时间的控制面板里没有自动调节DST选项。
我刚查了下ince的注册表,[HKEY_LOCAL_MACHINE\Software\Microsoft\Clock]下只有一个键值:
AutoDST

回复

使用道具 举报

千问 | 2021-1-27 06:59:34 | 显示全部楼层
微软论坛的回复如下:
Ifthedate/timefortransitionsfordaylightsavingtimearewrong,then
youhavenotinstalledeithera)theQFEsforWindowsCEthathavethe
updatedDSTinformation,orb)thedesktopupdatesthathavethelatestDST
transitioninformation.SincetheupdatesforthePChappened
automatically,I'dguessthattheOSthatyouhaveonyourWindowsCEdevice
doesnothavethelatestDSTupdatesinit(oryou'reusinganoldregistry
fromatimebeforetheupdatesweremade).
我已经装了081231QFE,但是注册表是06年后就没有更新的,有可能是这样引起的?这样的话要怎么改?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行