当前位置:首页 > 编程开发

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

webgou16年前 (2010-08-13)编程开发224

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就可以将你修改后的代码装载到你的模拟器中了!

扫描二维码推送至手机访问。

版权声明:本文由知了博客发布,如需转载请注明出处。

本文链接:https://www.webgou.info/?id=269

标签: wince
分享给朋友:

“wince 界面定制--在shell原码上修改步骤 ” 的相关文章

WinCE下直接启动应用程序的方法

其实让一个程序在wince里启动和windows里差不多,直接设置其为启动项,这个有几个方法。一个就是制作一个快捷方式,指向我们的应用程序如app.exe,然后将快捷方式放到\windows\startup下面。...…

ARM寄存器简介

ARM寄存器介绍 ARM处理器共有37个寄存器。其中包括:31个通用寄存器,包括程序计数器(PC)在内。这些寄存器都是32位寄存器。以及6个32位状态寄存器。但目前只使用了其中12位。ARM处理器共有7种不同的处理器模式,在每一种处理器模式中有一组相应的寄存器组。任意时刻(也就是任意的处理器模式下)…

Android电话功能各部分深入探讨

Android手机操作系统是一款基于Linux平台的开源系统。开发人员可以根据不同的需求对其进行修改等操作。在这系统中有很多比较重要的功能值得我们去研究。比如Android电话功能就是其中一个基础知识点。第一部分 Android电话功能概述Android的Radio Interface Layer…

中国iOS开发者出走海外

7月6日,知名移动数据监测机构App Annie在移动互联网创新大会上公布的这组数据揭开了中国移动互联网产业的现实与无奈。 整个iOS市场中,中国区APP下载量排名全球第二,但收入只排到全球第八,中国平均每下载量收入仅有0.03美元,是美国用户0.28美元的十分之一,甚至只有越南的一半。 在iO…

关于WS_CLIPCHILDREN和WS_CLIPSIBLINGS的理解(个人认为还是相当全面的)

WS_CLIPCHILDREN和WS_CLIPSIBLINGS两种窗口样式的理解。…

CWND *this

用*this可以获得HWND,经调试得知,运行到的是操作符()函数.等价于: CWND wnd; HWND hWnd = (wnd);…

发表评论

访客

看不清,换一张

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