本文为御风独舞原创,转载请注明出处:hi.baidu.com/roooy
今天下午通过分析RIL的MDD层我发现,只要在在WIN CE的注册表中以下以下路径添加对应的键值可以实现RIL模块相关的一些扩展功能:
HKEY_LOCAL_MACHINE/Drivers/BuiltIn/RIL/
键名 类型 作用
NoDialing Boolean 禁止所有电话呼出
NoEmergencyDialing Boolean 禁止所有紧急呼叫,默认为911,112,08三个号码
BaudRate DWORD 设置modem下载端口的波特率
DataModeInteruptionQuantum DWORD 设置modem需要的启动时间
MaxTimeouts DWORD 设置modem最大超时时间
ComPort SZ 设置RIL打开的控制COM口,默认为COM2
ComPortNotifications SZ 设置RIL打开的通知COM口,默认为COM2
MaxOpenAttempts DWORD 设置RIL打开COM口最大失败次数,默认为3次
OpenTimeout DWORD 设置RIL打开COM口失败以后重试的间隔时间,默认为1000毫秒
SpoofMultipleLines DWORD 用于测试目的伪造多条呼出线路
dwUseCphsPlmnName DWORD 设置预读CPHS标准的PLMN名称
SpoofIncomingLine DWORD 用于测试目的伪造多条呼入线路
IgnoreIncomingCalls DWORD 忽略电话呼入,RIL驱动会抛弃呼入信号,不会对上层发送消息
DataModeCmdDelay DWORD 设置命令发送的超时时间,默认为3000毫秒
MaxDataModeTimeWithoutCmd DWORD 设置Modem空闲时进入睡眠模式的时间,默认为30000毫秒
LastCLIP DWORD 设置来电号码是否主动上报,默认CLIP=1
LastCLIR DWORD 设置主叫号码显示限制,默认CLIR=0
TimeoutCmdInit DWORD 设置初始化命令超时时间,默认为20000毫秒
TimeoutCmdNoOp DWORD 设置空操作命令(AT/r/n)的超时时间,默认为10000毫秒
TimeoutCmdOnline DWORD 设置在数据模式下命令的超市时间,默认为10000毫秒
TimeoutAPIDefault DWORD 设置上层应用API超时时间,默认为10000毫秒
TimeoutDTRDrop DWORD 设置在数据模式下转换为命令模式的超时时间,默认为5000毫秒
TimeoutWaitForInit DWORD 设置等待初始化命令的超时时间,默认为20000毫秒
ConnectResponseDelay DWORD 有些网络在我们连接后需要等待一段时间才能发送数据,该数值用于设置要等待的时间,默认为不等待
PreInitString SZ 设置Modem在启动前需要发送的初始化命令
TmpInitString SZ 设置Modem在启动前需要发送的临时初始化命令,要注意该命令在初始化一次以后便会被删除
ComInitString SZ 设置Modem在连接上COM口后需要发送的初始化命令
举一反三,我们可以通过修改MDD层代码,快速实现更多强大的通讯控制功能,例如:
NoEmergencyDialing可以实现更多的号码呼叫禁止,NoDialing可以在代码中做多个if判断分支,实现来电防火墙的功能。
一种快捷简便的WIN CE界面定制方法2009-06-24 14:37这里提供一个自己定制Windows CE UI 的大体思路:
1、在Catalog Item View里面把Core OS - CEBASE - Shell and User Interface - Shell - Graphical Shell 下面的 Standard Shell去掉。
2、在项目解决方案资源管理器里把OS Design新增加一个子项目,比如起名叫:MyDeskTop。
3、在OS Design的project.reg中,新增加如下注册表键:
[HKEY_LOCAL_MACHINE/Init]
"Launch50"="MyDesktop.exe"
"Depend50"=hex:14,00,1e,00
其中的Depend50是可选项,代表该模块依赖一些别的模块,被依赖的模块若加载不成功,则该模块也不会被加载。至于这些被依赖项的HEX值,可以查看对应Common.reg文件下的定义。
另外还有多个可选选项,具体意义可以参考这篇文章:http://msdn.microsoft.com/en-us/library/aa448482.aspx
4、这时子项目MyDesktop可以作为一个UI来使用,具体采用什么开发技术,可以有WIN32 SDK,MFC,GDI,DirectX等等多种技术组合,就看各人喜好了。