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就可以将你修改后的代码装载到你的模拟器中了!
自己总结的,希望能对大家有用!
相关推荐
01 Aras Innovator二次开发实战:从IOM到AML的完整交互指南
本文详细介绍了Aras Innovator二次开发实战,从IOM到AML的完整交互指南。通过JavaScript和C#代码示例,展示了如何在客户端和服务端使用IOM进行开发,并深入解析AML语言的基础语法和调试技巧。文章还提供了文档管理和BOM管理等典型场景的实战案例,帮助开发者快速掌握Aras Innovator二次开发的核心技术。
winCE标准shell美化
<br />1更换WinCE的墙纸<br />更换墙纸就是改注册表设置,编译完WinCE工程以后,所有的reg文件中的内容都会被合并为reginit.ini文件。<br />在platform.reg文件中添加如下内容:<br />[HKEY_CURRENT_USER/ControlPanel/Desktop]<br />"wallpaper"="//Storage Card//LOGO.bmp"<br />然后把LOGO.bmp放到Storage Card这个盘中就可以了,开机就能看到桌面已改<br />
万象RK3506-EG1800网关使用说明
摘要:HD-RK3506-EG1800是一款高性能工业物联网边缘计算网关,支持Buildroot和Ubuntu双系统。文档详细介绍了网关的网络配置(包括ETH0/ETH1的静态IP设置、WiFi连接)、时钟同步、HSL软件安装配置(含开机自启动服务)、系统日志优化以及刷机操作指南(Loader/Maskrom模式)。特别提供了基于lighttpd的网页管理方案,通过HTML界面实现网络参数可视化配置,包含身份验证、实时状态显示和表单提交功能。网关默认ETH0固定IP为192.168.1.10,提供完整的CL
shell定制相关资料
shell开发,是系统开发的一个部分。最明显的是Shell的代码,是属于BSP的一部分。需要使用PB,而不是EVC或VS2005! wince下shell 的定制http://blog.youkuaiyun.com/fanyw/archive/2009/11/12/4804547.aspx首先我们需要了解下定制shenll的整个流程:1、shell可以从两个方面来定制:
Python实现支付宝转账接口
由于工作需要使用python开发一个自动转账接口,记录一下开发过程。 首先需要在蚂蚁金服上申请开通开发者账户,有了开发者账户就可以使用沙箱进行开发了。 在开发之前我们需要在沙箱应用中填写密钥,密钥的获取可以使用阿里提供的工具包自动生成。 前期准备工作完成了,接下来是编写代码部分。主要用到了python-alipay-sdk库,使用pip安装即可,如果安装的过程中遇到问题推荐使用Anaconda...
15、基于最优传输的协作多视图聚类框架
本文提出了一种基于最优传输理论的协作多视图聚类框架,通过引入协作学习机制在不同视图间建立先验交互,以提升共识聚类的质量。框架包含两种新方法:协作共识投影方法(CoCP)和基于新表示的协作共识方法(CoCNR)。CoCP在全局空间中整合多视图信息并进行共识投影,而CoCNR则通过协作编码生成新的数据表示以实现更优聚类。方法利用熵正则化的Wasserstein距离与Wasserstein重心,有效捕捉数据分布间的几何结构,并通过聚合步骤获得统一模型。实验结果表明,所提方法在多个数据集上均优于现有方法,具有良好的
WinCE桌面墙纸及图标更换
作者:ARM-WinCE 网上关于WinCE更换墙纸的文章一大堆,我也来写一篇,和网上已有的文章没什么区别。以前写的WinCE Blog大部分都是BSP相关的,以后打算写点WinCE系统定制方面的,就从这里开始吧。 关于WinCE的墙纸,是在注册表中设置的,编译完WinCE工程以后,所有的reg文件中的内容都会被合并为reginit.ini文件。打开这个文件,可以找到如下内容:
CloudCompare 二次开发(9)——半径滤波
基于PCL对CloudCompare软件进行二次开发,实现的算法功能是半径滤波
wince下shell 的定制
首先我们需要了解下定制shenll的整个流程:1、shell可以从两个方面来定制: a 将一个独立的应用程序作为基于wince设备的shell,任何类型的windows应用程序(.exe)都可以被作为基于wince设备的shell,如果开发者的设备是一台单一功能的设备,且它只进行一个用户应用程序,那么将这个用户应用程序作为shell是一个最好的选择,对于这种处理的方法就是 自己制作
Apollo Control——超详细入门教程(六):MPC二次规划问题转化
专栏文章列表 Apollo Control——超详细入门教程(一):基于道路误差的车辆动力学模型 Apollo Control——超详细入门教程(二):连续状态空间方程离散化与离散LQR公式推导 Apollo Control——超详细入门教程(三):基于Frenet坐标系及XY坐标系的多项式轨迹生成 Apollo Control——超详细入门教程(四):控制模块轨迹误差计算 Apollo Control——超详细入门教程(五):油门刹车标定表之双线性插值算法 ...
PCIe 互联的芯片-- P2P(Peer-to-Peer)
PCIe设备间支持P2P直连通信,但需满足硬件、固件和软件三方面条件。硬件需CPU/芯片组和PCIe交换器支持P2P,BIOS需开启相关设置,操作系统和驱动也要适配。消费级GPU通常禁用此功能,且PCIe P2P性能(128GB/s带宽)远低于NVLink(900GB/s)。常见限制包括ACS阻断、IOMMU隔离和带宽瓶颈。可通过nvidia-smi或NCCL测试验证P2P是否生效。该技术适合异构设备通信,但需注意配置调优。
随记(SHBrowseForFolder需要的头文件及lib)
c++实现打开文件选择对话框, 使用SHBrowseForFolder、SHGetPathFromIDList等实现。 需要#include <Shlobj.h>, 同时要#pragma comment(lib,"shell32.lib")。 看其他人的说法, 有说win7要#pragma comment(lib,"Ceshell.lib"), 没具体试过。仅供参考。 见链接最底端的Requirements: shlobj_core-shbrowseforfoldera ...
Transformer时间序列预测-多变量输入-单变量输出+多变量输出,完整代码数据,可直接运行
Transformer时间序列预测-多变量输入-单变量输出+多变量输出,完整代码数据,可直接运行
EVC浏览文件夹对话框
1.头文件#include 2.库Ceshell.lib CString strDir; BROWSEINFO bi; LPMALLOC pMalloc = NULL; ZeroMemory(&bi, sizeof(bi)); TCHAR szDisplayName[MAX_PA
华为的C语言编程规范.pdf
华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。
win10 跳过U8环境检测的IE WebControls.rar
win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。
CEShell文件夹中的类关系
//=====================================================================================================//TITLE:// CEShell文件夹中的类关系//AUTHOR:// norains//DATE:// Saturday 8-April-2006//ATTENTION:// 不
NTscan扫描工具
ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。
WinCE 系统界面修改偏方(一)
公司产品屏幕大小是320*240,然而windows ce 4.2所适应的大小只有两种,一是480*320(landscape mode);而是240*320(portrait mode).无论采用那种模式,都无法适应公司的产品.在测试中发现,控制面板的所有选项以及某些弹出对话框都无法正确自适应屏幕.由此第一步打算从控制面板的组件下手.然而第一步尝试就遇到了困难,rc文件的格式不能采用微软
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
WINCE 程序自启动设置总结
WINCE用户程序开机自启动方法总结。
BROWSEINFO
Visual C++(VC)中,BROWSEINFO结构中包含有用户选中目录的重要信息。 (1)BROWSEINFO结构 ●定义 typedef struct_browseinfo { HWND hwndOwner; LPCITEMIDLIST pidlRoot; LPSTR pszDisplayName; LPCSTR lpszTitle;
挂载并修改img镜像的分区文件
windows下有很多可视化的工具可以对镜像文件修改,这里不做介绍。windows很多文件不支持读取linux文件系统,这里安利一个小工具 [Linux_Reader](https://eu.diskinternals.com/download/Linux_Reader.exe),可以支持非常多种的镜像格式,包含虚拟机。 本文介绍losetup、mount两个命令对img镜像文件的挂载和修改进行介绍。
651



被折叠的 条评论
为什么被折叠?



