本文爲御風獨舞原創,轉載請註明出處: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等等多種技術組合,就看各人喜好了。