WinCE中公开源代码的编译方法

    从WinCE5.0开始,微软就公开了WinCE的相关源代码。一方面,这使我们可以更深入的学习WinCE操作系统,另外一方面,也让定制个性化WinCE操作系统成为可能。这里要介绍的就是如何编译WinCE公开的源代码,以开机输入密码的界面为例。

     WinCE开机输入密码的界面,一定搞晕了不少朋友。先前曾写过一篇文章,尝试着解决这个问题。但毕竟那是没有办法的办法,并且有时候还用不了。而这个问题,对于定制WinCE操作系统的工程师来说,其实很简单,只要添加一个函数调用即可。一个API就能避免N多用户的无奈。

     修改文件C:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\STARTUI\startui.cpp,在该文件的第450行添加SipShowIM(SIPF_ON);

    打开Platform Builder的工程,点击菜单“Build OS”——“Open Release Directory”,浏览到目录

C:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\STARTUI\下,运行Build,如下图所示,

       

编译生成的文件在目录C:\WINCE500\PUBLIC\COMMON\OAK\TARGET\ARMV4I\RETAIL下,如下图所示,

 

最后,重新Sysgen。也许有更快捷的方式,但Sysgen简单保险,机器配置好的话也用不了太长时间。

运行新的操作系统,设置用户密码后的开机界面如下图所示,

软键盘乖乖的出现了,我们也不会再为没有办法输入密码而挠头。

简单总结一下,定制个性化的WinCE操作系统基本分为三步:

第一步,在正确的文件当中修改相应的代码,注意备份其源文件和目标文件;

第二步,正确编译修改好的文件,并确认其目标文件确实被更新;

第三步,重新执行Sysgen。

     整个过程,找对源文件最关键。修改和编译相应文件的同时,一定注意备份源文件和目标文件以免酿成大祸,尤其是目标文件也不能忽视,因为源文件和目标文件的版本有时并不一致。

时间: 2024-10-03 20:43:05

WinCE中公开源代码的编译方法的相关文章

Lua中的源代码预编译浅析_Lua

尽管Lua被称为是一种解释型的语言,但Lua确实允许在运行源代码之前,将源代码预编译成一种中间形式(类比Python的.pyc).区别解释型语言的主要特征在于编译器是否是语言运行时库的一部分,即是否有能力执行动态生成的代码(Lua可以通过dofile执行Lua代码).  其实,dofile的核心功能是由loadfile完成的,可以这样来定义dofile: loadfile并不是执行代码,而只是编译,返回一个函数,由dofile执行. 如果多次运行一个文件,可以只调用一次loadfile,重复调用

WinCE中串口通讯的调试方法

      串口是嵌入式系统中应用很广的一种通讯接口.在WinCE中,通常会有一个串口供调试使用,另外的串口可与外围设备连接,如GSM和GPS等模块,以获取相应的信息并进行处理.       在WinCE中,为了使用串口,必须有相应的串口驱动程序,一般在BSP中都有实现.串口驱动是典型的流驱动.应用程序中可通过CreateFile().ReadFile()和WriteFile()等文件系统的操作函数来访问串口,从而实现串口数据的收发.      虽然串口操作相对简单,但在实际调试时依然会碰到很多

SQLite3源码在Windows及WinCE平台下的编译方法

好久没有写博客了,最近有时间又开始写点东西. 最近,刚好需要用到SQLite3数据库,就自己研究了一下,这个的确是个好东西,开源的东西都还不错. 好了,言归正传.相信不少人在用SQLite3源码编译的时候还是费了不少劲的,网上找来的东西都讲的不是很完整. 下面,我就将自己的编译方法写了出来. 首先从SQLite官方网站http://www.sqlite.org/download.html 下载最新的源代码,目前最新的版本是V3.7.11(2012年3月25日星期日). 需要下载在源码如下: sq

ASP.NET Whidbey 中新的代码编译功能

asp.net|编译 ASP.NET Whidbey 中新的代码编译功能G. Andrew DuthieGraymad Enterprises, Inc. 2003 年 10 月 摘要:了解如何利用 ASP.NET Whidbey 更轻松地使用代码.Code 目录会自动为您的站点编译代码,而预编译会使部署工作更容易. 下载本文的源代码.(请注意,在示例文件中,程序员的注释使用的是英文,本文中将其译为中文是为了便于读者理解.) 目录简介新的模块化代码模型\Code 目录利息计算器预编译支持在位预编

WinCE中BSP的Clone

谈到WinCE的BSP Clone实际上就是BSP的复制,只不过是改变了一些BSP中的信息.在WinCE中,BSP的克隆应该很简单,今天就做个简单的介绍. 我很少用到BSP的克隆,做WinCE也有几年了,就用过几次,最开始是为了学习克隆了几次,但没有什么实际用途.后来我在一家IC Design公司工作,公司开了一个新的ARM芯片,基于公司老的ARM提高了频率,增加了一些新的模块.这个时候我真正用到了BSP的克隆,基于公司老的ARM芯片的BSP,克隆一个BSP,然后在上面为新的ARM芯片开发驱动和

android中获取root权限的方法以及原理(转)

一. 概述 本文介绍了android中获取root权限的方法以及原理,让大家对android 玩家中常说的"越狱"有一个更深层次的认识. 二. Root 的介绍 1. Root 的目的 可以让我们拥有掌控手机系统的权限,比如删除一些system/app下面的无用软件,更换开关机铃声和动画,拦截状态栏弹出的广告等. 2. Root的原理介绍 谷歌的android系统管理员用户就叫做root,该帐户拥有整个系统至高无上的权利,它可以访问和修改你手机几乎所有的文件,只有root才具备最高级别

c# 窗体间传值-为什么窗体中公开的属性,别的窗体不能调用??

问题描述 为什么窗体中公开的属性,别的窗体不能调用?? 以下是部分代码: private void tslSearch_Click(object sender, EventArgs e) { Form f = new Search(tn); f.Infos-- } 调用的窗体作用是设置搜索条件并返回搜索结果,部分代码如下: public partial class Search : Form { private TableName tn = TableName.企业信息; private str

jvm的在连接阶段对java类的验证和编译器对源代码的编译有什么区别

问题描述 jvm的在连接阶段对java类的验证和编译器对源代码的编译有什么区别 问题补充:beneo 写道 解决方案 引用具体的话,你可以看看jvm spec,你不愿看的话,就看看http://rednaxelafx.iteye.com/ 的博客,如果还看不懂的话,就去问http://rednaxelafx.iteye.com/大大P.S. 其实该走的路我都告诉你了,你为何不往前踏一步呢?解决方案二:引用编译器对源代码的编译有什么区别 java source code -> java class

JSP中的源代码泄漏问题_漏洞研究

摘要:在JSP技术得到广泛应用的同时,由于源代码泄漏而引起的JSP安全性也受到了广泛的关注.本文分析了几种造成源代码泄漏的因素,并针对每种因素提出了各自的解决方法.  关键词:JSP  源代码 泄漏   引言  JSP编程语言自从推出之日起,由于它的快速.平台无关.可扩展.面向对象等特性得到了越来越广泛的应用,越来越多的厂家开发出了各种各样的支持平台如IBM 公司的WebSphere.BEA公司的WebLogic等等,也有越来越多的网站开始将自己的平台架构在JSP 环境中.    但是随之而来的