|
呵呵,大家好,我是PALM新手,但是对于WINDOWS MOBILE系统来讲,不算新手了。最近突然对800W有兴趣,入手一台,感谢斑竹的写号教程,已经可以正常接听 拨打电话以及上网了。# }2 ^4 }# v0 d
这两天浏览了一下坛子里相关的帖子,也对800W的中文短信问题做了初步探索,过程简列如下:
( v+ M: B1 F4 U3 E1 N800w的短信服务程序没有使用默认的WM内置的tmail.exe,而是使用了自己的messagingapp.exe。所以一开始怀疑这个应用将中文短信过滤掉了。所以我从SMS_PROVIDERS这一层,嵌入了调试代码,发现SMS_PROVIDERS接收到的信息,含有中文的都为空。也就是说,RILMESSAGE结构体中的 rbMsg 字段是空的,全是0x0。另外,识别出的编码是 8BITASCII,按理说应该是UCS之类。看来问题不出在这一层。
# ?* w; [' y: f于是,我写了一个RIL钩子程序,监视了一下RIL的MSG_IS637INDELIVERY消息,发现RIL返回系统的消息中。比如接收“你好”两个字,dwCoding 值为0x2,长度为0x2,内容为全0,也就是说 RIL驱动层已经丢失了中文短信。对于800w来讲,系统认为这是一条空短信,只显示一个 please call 138xxxxxxxxx6 m1 `) B P7 g2 y# P8 G2 H
TREO800W跟700W一样,RIL驱动程序是 TelephonyInterfacelayer.dll,这个DLL是厂商根据基带芯片种类和自身设备特点开发的CE系统跟基带MODEM通讯的桥梁。在不同机型上是不一样的,比如GSM机型多数是rilgsm.dll,HTC的机型有用rilphone.dll的,也有用rilcdma.dll之类。% y, R8 m$ l! r
针对这一点,特此请教K版以及各位,对于700W的WM5中文短信,以及700W 的WM6初步完成版,你们的Telephonyinterfacelayer.dll 驱动是从何得来的,是通过原版本逆向工程修改关键字节还是其他渠道。相同方法是否可以作为800W中文短信的参考。个人感觉,只要从这一层解决了中文短信问题,剩下的都应该不难。以上为个人拙见,有不对的地方,敬请指正。敬请K版以及各位前辈多多指教。% J7 u/ L/ @, p; c% J
% |9 C) t* |: ~/ p3 q4 T1 |; c
[ 本帖最后由 surf98 于 2009-5-31 11:26 编辑 ] |
评分
-
查看全部评分
|