知了博客

集天地之精华,吸日月之灵气

« 运行期WinCE下自定义Shell的方法 »

wince 界面定制--在shell原码上修改步骤

wince 界面定制--在shell原码上修改步骤:(在x86环境下,修改ceshell中的代码)
1、将WINCE500\PUBLIC\SHELL\OAK目录下的HPC文件夹(shell源码)复制到本文件夹下,将该文件夹改名,如myshell
2、修改WINCE500\PUBLIC\SHELL\OAK目录下dir文件,修改如下:
                        DIRS=myshell \
3、将myshell内代码单独编译。运行PB5.0中菜单Build OS—〉Open Release Directory,进入DOS状态。
进入\WINCE500\PUBLIC\SHELL\OAK目录下,输入:build -c。将myshell文件夹下代码,及wince shell源码进行编译生成.lib及.res文件
4、将.lib及资源文件Link成.dll文件
ceshell文件夹下创建ceshell_make文件夹,在ceshell_make文件夹下创建makefile和sources文件
makefile文件内容:
!INCLUDE $(_MAKEENVROOT)\makefile.def
sources文件内容:
TARGETNAME=ceshell
TARGETTYPE=DYNLINK

RELEASETYPE=PLATFORM
DLLENTRY=_DllMainCRTStartup

WINCEOEM=1
INCLUDES=..\;..\..\inc

TARGETLIBS= E:\WINCE500\PBWorkspaces\test1\WINCE500\Emulator_x86\cesysgen\oak\target\x86\retail\0409\ceshell.res E:\WINCE500\PBWorkspaces\test1\WINCE500\Emulator_x86\cesysgen\sdk\lib\x86\retail\uuid.lib E:\WINCE500\PBWorkspaces\test1\WINCE500\Emulator_x86\cesysgen\sdk\lib\x86\retail\ole32.lib E:\WINCE500\PBWorkspaces\test1\WINCE500\Emulator_x86\cesysgen\sdk\lib\x86\retail\oleaut32.lib E:\WINCE500\PBWorkspaces\test1\WINCE500\Emulator_x86\cesysgen\sdk\lib\x86\retail\commctrl.lib E:\WINCE500\PBWorkspaces\test1\WINCE500\Emulator_x86\cesysgen\oak\lib\x86\retail\shcore.lib E:\WINCE500\public\shell\oak\lib\x86\retail\aygutils.lib E:\WINCE500\PBWorkspaces\test1\WINCE500\Emulator_x86\cesysgen\sdk\lib\x86\retail\coredll.lib
SOURCELIBS= E:\WINCE500\public\shell\oak\lib\x86\retail\ceshapi.lib E:\WINCE500\public\shell\oak\lib\x86\retail\ceshui.lib E:\WINCE500\public\shell\oak\lib\x86\retail\taskbarlist.lib E:\WINCE500\PBWorkspaces\test1\WINCE500\Emulator_x86\cesysgen\sdk\lib\x86\retail\coredll.lib
                                                                                             

SOURCES= \
CDEFINES=$(CDEFINES) -DREAD_FROM_REGISTRY
DEFFILE=E:\WINCE500\public\shell\oak\lib\x86\retail\ceshell.def
这样就可以通过这两个文件生成ceshell.dll;
运行PB5.0中菜单Build OS—〉Open Release Directory,进入DOS状态。进入到
WINCE500\PUBLIC\SHELL\OAK\myshell\ceshell_make目录下,输入:build -c。
这样就生成了ceshell.dll文件。
5、将.lib及.res文件Link成.exe文件
在myshell文件夹下创建explorer_make文件夹,在explorer_make文件夹下创建makefile和sources文件
makefile文件内容:
!INCLUDE $(_MAKEENVROOT)\makefile.def
sources文件内容:
TARGETNAME=explorer1
TARGETTYPE=PROGRAM
RELEASETYPE=OAK
TARGETLIBS= \
  E:\WINCE500\PBWorkspaces\test1\WINCE500\Emulator_x86\cesysgen\sdk\lib\x86\retail\coredll.lib \
  E:\WINCE500\public\shell\oak\lib\x86\retail\explorer.lib \
  E:\WINCE500\PUBLIC\SHELL\OAK\LIB\x86\RETAIL\explorer.res \
  E:\WINCE500\public\shell\oak\lib\x86\retail\explorer_ie.lib \
  E:\WINCE500\PBWorkspaces\test1\WINCE500\Emulator_x86\cesysgen\sdk\lib\x86\retail\uuid.lib \
  E:\WINCE500\PBWorkspaces\test1\WINCE500\Emulator_x86\cesysgen\sdk\lib\x86\retail\ole32.lib \
  E:\WINCE500\PBWorkspaces\test1\WINCE500\Emulator_x86\cesysgen\sdk\lib\x86\retail\oleaut32.lib \
  E:\WINCE500\PBWorkspaces\test1\WINCE500\Emulator_x86\cesysgen\sdk\lib\x86\retail\commctrl.lib \
  E:\WINCE500\PBWorkspaces\test1\WINCE500\Emulator_x86\cesysgen\sdk\lib\x86\retail\ceshell.lib \
  E:\WINCE500\PBWorkspaces\test1\WINCE500\Emulator_x86\cesysgen\oak\lib\x86\retail\shcore.lib \
  E:\WINCE500\public\shell\oak\lib\x86\retail\aygutils.lib \
  E:\WINCE500\public\shell\oak\lib\x86\retail\favorites.lib \
  E:\WINCE500\public\shell\oak\lib\x86\retail\taskbar.lib \
  E:\WINCE500\PBWorkspaces\test1\WINCE500\Emulator_x86\cesysgen\oak\lib\x86\retail\ieceext.lib \
  E:\WINCE500\public\shell\oak\lib\x86\retail\shellaygfuncs.lib \
  E:\WINCE500\public\shell\oak\lib\x86\retail\shellpslayg.lib \
 
SOURCELIBS= \
SOURCES= \
这样就能通过这两个文件,单独生成explorer1.exe文件
运行PB5.0中菜单Build OS—〉Open Release Directory,进入DOS状态。进入到
WINCE500\PUBLIC\SHELL\OAK\myshell\explorer_make目录下,输入:build -c。
这样就生成了explorer1.exe文件。
6、将shell.reg中的
[HKEY_LOCAL_MACHINE\init]
"Launch50"="explorer.exe"
"Depend50"=hex:14,00, 1e,00
改为
[HKEY_LOCAL_MACHINE\init]
"Launch50"="explorer1.exe"
"Depend50"=hex:14,00, 1e,00
这样就可以修改shell中的代码了!
7、修改shell.bin中的
; @CESYSGEN IF SHELL_MODULES_EXPLORER
    explorer1.exe    $(_FLATRELEASEDIR)\explorer1.exe                  NK  S
8、将explorer1.exe、ceshell.dll、ceshell.rel、ceshell.pdb和ceshell.map文件拷到
E:\WINCE500\PBWorkspaces\test1\RelDir\Emulator_x86_Debug目录下并覆盖原来的文件。
这样再makeimg就可以将你修改后的代码装载到你的模拟器中了!

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Arwen Build 90619 Code detection by Codefense  theme by BokeZhuti

Copyright know blog. Some Rights Reserved.站长(msn):webmaster#webgou.info(#换成@) 粤ICP备09183716号