WINCE6.0远程桌面显示修改
備注:用RDP表示遠程桌面
?
WINCE6.0自帶的遠程桌面在我們顯示屏分辨率為240*320上有一部分內容無法顯示出來,所以就需要調整界面讓這些內容可見。
?
1.??????PB6.0不支持對遠程桌面資源文件的修改,PB5.0可以
剛開始是用PB6.0修改,但修改后沒有生效,后來找到\WINCE600\PUBLIC\RDP\OAK\CETSC\readme文件,其中下面的內容才知道是PB6.0不支持對遠程桌面界面資源文件cetscbase.res的修改
[Modules containing the UI resources]
===============================================================================
The RDP6 UI in Windows Embedded CE comesfrom two modules:
?
- cetsc.exe?? (cetscbase.res)
- mstscax.dll (tscaxctrl.res)
?
In general, the OEM can edit the res fileunder
?public\rdp\oak\lib\%_TGTCPU%\%wincedebug%\%Locale%
to adjust the UI. For example, OEM canchange the dialog box template or a string
in this way.
?
Any changes to existing strings would needbe localized by the OEM making the
change.
?
If the OEM chooses to edit the res filewith Visual Studio, currently only the
res file saved by Platform Builder 5.0 issupported. The res file saved by
Platform Builder 6.0 cannot be used.
?
2.??????修改資源文件及編譯過程中遇到的問題
2.1???注釋掉打開RDP
因為WINCE6.0桌面程序一打開就顯示沙漏,這點很不合理,找到對應的代碼,修改如下:
⑴ \WINCE600\PUBLIC\RDP\OAK\UIT\TSCONMAN\applicationproperties.cpp
注釋掉CApplicationPropPage::WriteRegistrySettings()中下面的代碼:
// Put up the wait cursor
???????? //HCURSORhOldCursor = SetCursor (LoadCursor (NULL, IDC_WAIT));
// Remove the wait cursor
???????? //SetCursor(hOldCursor);
⑵ \WINCE600\PUBLIC\RDP\OAK\UIT\TSCONMAN\connectionproperties.cpp
注釋掉CConnectionPropPage::WriteRegistrySettings()中下面的代碼:
// Put up the wait cursor
???????? //HCURSORhOldCursor = SetCursor (LoadCursor (NULL, IDC_WAIT));
?
// Remove the wait cursor
???????? //SetCursor(hOldCursor);
?
⑶ \WINCE600\PUBLIC\RDP\OAK\UIT\TSCONWIZ\tsconwiz.cpp
注釋掉TsConnectionWizard::WriteSettings()中下面的代碼:
// Remove the wait cursor
???????? //SetCursor(hOldCursor);
?
2.2???編譯出錯問題
把這些文件修改后,到\WINCE600\PUBLIC\RDP右鍵,選擇Rebuild and Clean Sysgen,可能會莫名其妙的編譯出錯,信息如下:
CEBUILD: Running sysgen -p rdppreproc
Starting sysgen phase for project (rdp )
\WINCE600\build.err
其實我們修改的代碼沒有錯誤,這就是微軟VS2005典型的無須有編譯出錯,恢復為原來的編譯就OK了,然后再替換為編譯之后的就可能OK了。
?
2.3???英文系統和其他系統編譯鏈接的不同
用PB6.0分別修改RDP\OAK\LIB\ARMV4I\RETAIL\0804(中文簡體)、0404(中文繁體)、0409(英語)、0419(俄語)的cetscbase.res,編譯步驟如下:
⑴到\WINCE600\PUBLIC\RDP右鍵,選擇Rebuildand Clean Sysgen,在release目錄下編譯生成新的cetsc.exe文件,對于中文簡體、中文繁體和俄語系統來說,調整的界面都生效(只不過是顯示英文而已,應為還沒有進行最后系統針對當前語言的鏈接),但是英文的就時鐘還是之前顯示不全的界面。后來發現在RDP\OAK\LIB\ARMV4I\RETAIL目錄下還有cetscbase.res這個文件,然后也把RDP\OAK\LIB\ARMV4I\RETAIL\0409目錄下的cetscbase.res文件替換此文件,重新Rebuildand Clean Sysgen就OK了。
?
為了節省時間,我們從這種辦法先調整好之后再進行下面的編譯。
⑵選擇sysgen或是cleansysgen編譯整個工程,這時候新的NK中的遠程桌面就是對應語言下調整過的界面了。
總結
以上是生活随笔為你收集整理的WINCE6.0远程桌面显示修改的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WINCE6.0 error C2220
- 下一篇: 微软嵌入式WEC2013产品研讨会(深圳