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

WinCE Shell使用调试指南 好久没有使用Shell查看目标板内的进程运行状态,今天调式的时候发现程序似乎没有加载起来,通讯连接不上。想切换到shell下 查看进程信息却怎么也想不起来进入shell的命令。。。           好记性不如烂笔头,这里做一下梳理备份。                   1.Win CE下,需要先使用Telnet 命令登录,建立网络连接: Telnet 210.0.0.1 阅读详情

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

自己总结的,希望能对大家有用!

电脑的kernelbase.dll故障怎么处理?kernelbase.dll是什么文件 kernelbase.dll​是一个系统文件,属于Microsoft Windows操作系统的一部分。该DLL(动态链接库)文件包含了许多基本且低级的系统函数,这些函数被Windows上运行的各种程序和进程调用。kernelbase.dll通常与Kernel32.dll紧密相关,它是实现许多Windows API(应用程序编程接口)的封装。这些API涉及到内存管理、输入输出操作、进程和线程管理以及其他许多核心的操作系统功能。 阅读详情

相关推荐

01 Aras Innovator二次开发实战:从IOM到AML的完整交互指南

本文详细介绍了Aras Innovator二次开发实战,从IOM到AML的完整交互指南。通过JavaScript和C#代码示例,展示了如何在客户端和服务端使用IOM进行开发,并深入解析AML语言的基础语法和调试技巧。文章还提供了文档管理和BOM管理等典型场景的实战案例,帮助开发者快速掌握Aras Innovator二次开发的核心技术。

wind6的博客 651

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 />

暂时为空 1174

万象RK3506-EG1800网关使用说明

摘要:HD-RK3506-EG1800是一款高性能工业物联网边缘计算网关,支持Buildroot和Ubuntu双系统。文档详细介绍了网关的网络配置(包括ETH0/ETH1的静态IP设置、WiFi连接)、时钟同步、HSL软件安装配置(含开机自启动服务)、系统日志优化以及刷机操作指南(Loader/Maskrom模式)。特别提供了基于lighttpd的网页管理方案,通过HTML界面实现网络参数可视化配置,包含身份验证、实时状态显示和表单提交功能。网关默认ETH0固定IP为192.168.1.10,提供完整的CL

tian_jiangnan的博客 175

shell定制相关资料

shell开发,是系统开发的一个部分。最明显的是Shell的代码,是属于BSP的一部分。需要使用PB,而不是EVC或VS2005!  wince下shell 的定制http://blog.youkuaiyun.com/fanyw/archive/2009/11/12/4804547.aspx首先我们需要了解下定制shenll的整个流程:1、shell可以从两个方面来定制:

TT的小窝 2776

Python实现支付宝转账接口

由于工作需要使用python开发一个自动转账接口,记录一下开发过程。 首先需要在蚂蚁金服上申请开通开发者账户,有了开发者账户就可以使用沙箱进行开发了。 在开发之前我们需要在沙箱应用中填写密钥,密钥的获取可以使用阿里提供的工具包自动生成。 前期准备工作完成了,接下来是编写代码部分。主要用到了python-alipay-sdk库,使用pip安装即可,如果安装的过程中遇到问题推荐使用Anaconda...

FanMLei的博客 8516

15、基于最优传输的协作多视图聚类框架

本文提出了一种基于最优传输理论的协作多视图聚类框架,通过引入协作学习机制在不同视图间建立先验交互,以提升共识聚类的质量。框架包含两种新方法:协作共识投影方法(CoCP)和基于新表示的协作共识方法(CoCNR)。CoCP在全局空间中整合多视图信息并进行共识投影,而CoCNR则通过协作编码生成新的数据表示以实现更优聚类。方法利用熵正则化的Wasserstein距离与Wasserstein重心,有效捕捉数据分布间的几何结构,并通过聚合步骤获得统一模型。实验结果表明,所提方法在多个数据集上均优于现有方法,具有良好的

gpt4scribbler的博客 85

WinCE桌面墙纸及图标更换

作者:ARM-WinCE 网上关于WinCE更换墙纸的文章一大堆,我也来写一篇,和网上已有的文章没什么区别。以前写的WinCE Blog大部分都是BSP相关的,以后打算写点WinCE系统定制方面的,就从这里开始吧。 关于WinCE的墙纸,是在注册表中设置的,编译完WinCE工程以后,所有的reg文件中的内容都会被合并为reginit.ini文件。打开这个文件,可以找到如下内容:

唐勉的ARM/Linux/WinCE专栏 5707

CloudCompare 二次开发(9)——半径滤波

基于PCL对CloudCompare软件进行二次开发,实现的算法功能是半径滤波

点云侠的博客 1401

wince下shell 的定制

 首先我们需要了解下定制shenll的整个流程:1、shell可以从两个方面来定制:    a 将一个独立的应用程序作为基于wince设备的shell,任何类型的windows应用程序(.exe)都可以被作为基于wince设备的shell,如果开发者的设备是一台单一功能的设备,且它只进行一个用户应用程序,那么将这个用户应用程序作为shell是一个最好的选择,对于这种处理的方法就是 自己制作

fanyw的专栏 1622

Apollo Control——超详细入门教程(六):MPC二次规划问题转化

专栏文章列表 Apollo Control——超详细入门教程(一):基于道路误差的车辆动力学模型 Apollo Control——超详细入门教程(二):连续状态空间方程离散化与离散LQR公式推导 Apollo Control——超详细入门教程(三):基于Frenet坐标系及XY坐标系的多项式轨迹生成 Apollo Control——超详细入门教程(四):控制模块轨迹误差计算 Apollo Control——超详细入门教程(五):油门刹车标定表之双线性插值算法 ...

凉了鸭的博客 2233

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是否生效。该技术适合异构设备通信,但需注意配置调优。

MHD0815的博客 683

随记(SHBrowseForFolder需要的头文件及lib)

c++实现打开文件选择对话框, 使用SHBrowseForFolder、SHGetPathFromIDList等实现。 需要#include <Shlobj.h>, 同时要#pragma comment(lib,"shell32.lib")。 看其他人的说法, 有说win7要#pragma comment(lib,"Ceshell.lib"), 没具体试过。仅供参考。 见链接最底端的Requirements: shlobj_core-shbrowseforfoldera ...

moyayi的博客 458

Transformer时间序列预测-多变量输入-单变量输出+多变量输出,完整代码数据,可直接运行

Transformer时间序列预测-多变量输入-单变量输出+多变量输出,完整代码数据,可直接运行

9794

EVC浏览文件夹对话框

1.头文件#include 2.库Ceshell.lib CString strDir; BROWSEINFO bi; LPMALLOC pMalloc = NULL; ZeroMemory(&bi, sizeof(bi)); TCHAR szDisplayName[MAX_PA

yearafteryear的专栏 1073

华为的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://  不

norains的专栏 2875

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

WinCE 系统界面修改偏方(一)

    公司产品屏幕大小是320*240,然而windows ce 4.2所适应的大小只有两种,一是480*320(landscape mode);而是240*320(portrait mode).无论采用那种模式,都无法适应公司的产品.在测试中发现,控制面板的所有选项以及某些弹出对话框都无法正确自适应屏幕.由此第一步打算从控制面板的组件下手.然而第一步尝试就遇到了困难,rc文件的格式不能采用微软

norains的专栏 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

WINCE 程序自启动设置总结

WINCE用户程序开机自启动方法总结。

feilongzaitianhehe的专栏 2712

BROWSEINFO

  Visual C++(VC)中,BROWSEINFO结构中包含有用户选中目录的重要信息。  (1)BROWSEINFO结构  ●定义  typedef struct_browseinfo  {  HWND hwndOwner;  LPCITEMIDLIST pidlRoot;  LPSTR pszDisplayName;  LPCSTR lpszTitle;

互联网产品管理、交互、设计、开发、用户体验专栏 1062

挂载并修改img镜像的分区文件

windows下有很多可视化的工具可以对镜像文件修改,这里不做介绍。windows很多文件不支持读取linux文件系统,这里安利一个小工具 [Linux_Reader](https://eu.diskinternals.com/download/Linux_Reader.exe),可以支持非常多种的镜像格式,包含虚拟机。 本文介绍losetup、mount两个命令对img镜像文件的挂载和修改进行介绍。

热爱生活,忠于自己 1万+
上一篇: 一个讲述ceshell的博客
下一篇: WinCE下自定义Shell的方法
dadalan
博客等级 码龄20年 428粉丝 770原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值