桌面UI主要涉及到CDesktopView类 ,CDesktopView类继承于CDefShellView类;如果要更改桌面的UI表现形式,只要从这个类入手即可.CDesktopView类位于

    $(_WINCEROOT)\PUBLIC\SHELL\OAK\HPC\CESHELL文件夹中.可以使用ctrl+F搜索一下就好。

 

在CDesktopView::PaintBackground中修改。

修改背景颜色:

// --- Original code commented out ---// ::FillRect(hdc, &rc, ::GetSysColorBrush(COLOR_BACKGROUND));// Explicitly set the background color.::FillRect(hdc, &rc, ::GetSysColorBrush(RGB(230, 150, 230)));

 

修改版本号:

PB的platform setting,build option里勾选enable ship build。

显示版本信息的代码在\WINCE500\PUBLIC\SHELL\OAK\HPC\CESHELL\UI\desktopview.cpp
void CDesktopView::PaintBackground(HDC hdc) const
......
   #ifndef SHIP_BUILD
......
   ::wsprintf(wszVersion, L"Microsoft Windows CE v%d.%02d (Build %d on %s) ",
              VerInfo.dwMajorVersion, VerInfo.dwMinorVersion, VerInfo.dwBuildNumber, TEXT(__DATE__));
........


怎么去掉桌面背景 一行字符
Microsoft Windows CE v5.00 (Build 1400 on Jul 23 2007)
修改如下:
在文件D:\WINCE500\PUBLIC\SHELL\OAK\HPC\CESHELL\UI\desktopview.cpp中把::wsprintf(wszVersion, L"Microsoft Windows CE v%d.%02d (Build %d on %s) ",
   //           VerInfo.dwMajorVersion, VerInfo.dwMinorVersion, VerInfo.dwBuildNumber, TEXT(__DATE__));
改为::wsprintf(wszVersion, L"");即可


//::wsprintf(wszVersion, L"Microsoft Windows CE v%d.%02d (Build %d on %s) ",
   //           VerInfo.dwMajorVersion, VerInfo.dwMinorVersion, VerInfo.dwBuildNumber, TEXT(__DATE__));
   ::wsprintf(wszVersion, L"");  //删除桌面 一行字符串


把这几行改掉


public\wceshellfe\oak\ctlpnl\cplmain\system.cpp


extern "C" BOOL APIENTRY SystemDlgProc (HWND hDlg, UINT message, UINT wParam, LONG lParam)


GetVersionEx(&osvi);


{


if (osvi.dwBuildNumber > 0) {


StringCbPrintf(szTemp, sizeof(szTemp), CELOADSZ(IDS_SYSTEM_VER_WITH_BUILD),


osvi.dwMajorVersion,osvi.dwMinorVersion, osvi.dwBuildNumber);




        else {


 StringCbPrintf(szTemp, sizeof(szTemp), CELOADSZ(IDS_SYSTEM_VER_WITHOUT_BUILD), osvi.dwMajorVersion, osvi.dwMinorVersion);


}


]