The modification effect of the Start menu is as follows:Customized Windows CE 5.0 standby interface (Overview)As shown in.
Modify the wince500/public/Shell/oak/HPC/Explorer/taskbar/stmenu. cpp file.
Because it was modified based on the source code of the Windows CE kernel, all the code was not pasted out. The main part of the modification is described. Some of the required variables must be customized as needed.
First, modify the stmenudata array.
For example, add: {idm_mobile, ids_mobile, idi_mobile, static_item, 0, 0, 0 },
You can add multiple rows of content if you need multiple menus.
Second, define the background image for the menu and load the background image: hbmstmenubackground
Third: add the menu background rendering process to the oda_select branch of startmenu_drawmenuitem ().
If (hbmstmenubackground)
{
HDC hdcmem = createcompatibledc (lpdis-> HDC );
If (hdcmem)
{
SelectObject (hdcmem, hbmstmenubackground );
Bitblt (lpdis-> HDC, RC. left, RC. top, RC. right-RC. left, RC. bottom-RC. top, hdcmem, RC. left, RC. top, srccopy );
Deletedc (hdcmem );
}
}
Fourth: In the startmenu_processcommand () function, process the menu response
For example
Case idm_mobile:
Info. cbsize = sizeof (Info );
Info. fmask = see_mask_nocloseprocess | see_mask_flag_no_ui;
Info. lpverb = NULL;
Info. lpfile = l "// residentflash // mymobileapp.exe ";
Info. lpparameters = NULL;
Info. lpdirectory = NULL;
Info. nshow = sw_show;
Info. hinstapp = NULL;
Shellexecuteex (& info );
Break;
Finally, delete the background image resource.