WINCE Development Dairly
hugohong
Have a passion for sports,especially playing basketball and table tennis.Good at writting and study.Good presentation skills.Have a postive attitude and the spirit of never give up!
展开
-
Wince shell 定制
1. 隐藏Tasktbar打开D:/WINCE600/PUBLIC/SHELL/OAK/HPC/EXPLORER/MAIN 目录,打开explorer.cpp 文件,在WinMain 函数里面屏蔽下面代码即可:/*// fork off a thread for the taskbar hTaskbarSyncEvent = CreateEvent(NULL,原创 2009-03-29 23:00:00 · 2653 阅读 · 1 评论 -
CE6应用程序兼容性
CE6的一个设计目标是,向后兼容第三方的二进制应用程序。二进制形式的兼容包括:1、 兼容core库中的一些导出内容(如coredll.dll)2、 兼容所有导出函数的接口3、 兼容函数的功能,除非是函数因为新的内存布局和安全性而做的改变4、 即使函数不再支持了,但保持在coredll中的导出。这能让应用成功加载,但是运行时候可能会失败。不过即使使用不再支持的函数,失败的比例转载 2009-08-05 21:25:00 · 1452 阅读 · 0 评论 -
显示驱动相关 -- DrvEscape和ExtEscape
DrvEscape是提供给应用程序的一个直接访问显示驱动的接口/机制,它类似流接口的IOCTLs方式的,完成标准GDI无法完成一些功能.上层应用程序调用ExtEscape()发送查询,设置等控制命令给显示(打印)驱动.这些命令字叫做escape code.系统已经定义的escape code有如下: QUERYESCSUPPORT 8 查询显示驱动是否支持用户转载 2009-06-15 23:32:00 · 2652 阅读 · 2 评论 -
Wince6.0 添加IOCTL
在WinCE5.0中,应用程序和驱动程序可以通过调用KernelIoControl(..)函数来访问WinCE内核,导致调用OEMIoControl函数,这样应用程序和驱动程序就可以访问到OAL中的资源了。但在WinCE6.0中,提供了更好的安全性,应用程序能够访问OEMIoControl中的case受到了限制,只有下面的这些case是可以让应用程序访问的:IOCTL_HAL_GET_CACHE_原创 2009-09-02 21:29:00 · 3733 阅读 · 3 评论 -
在WinCE中实现屏幕旋转
在WinCE中做Screen Rotation,首先确认显示设备的驱动是否支持Screen Rotation功能。在显示设备支持的前提下,可以通过以下两种方法做Screen Rotation: 1. 通过修改注册表做Rotation 默认情况下,屏幕都是正常显示的,也就是说翻转角度为0度。可以通过修改注册表来做屏幕翻转,通过修改”Angle”的值来完成,具体设置如下: [HKE转载 2009-07-02 23:29:00 · 997 阅读 · 0 评论 -
WinCE驱动开发问题精华集锦1
WinCE驱动开发问题精华集锦http://www.ee365.cn 2007-10-24 10:11在mediaplayer全屏播放的时候,我可以用键盘上的某一个键调节声音大小,现在我想在屏幕上显示调节的结果就跟我们看电视一样能出来一些标记。当声音变大在屏幕上就增多,当声音变小的时候就减少 得到播放窗口的DC,然后在上面显示一个不同颜色的矩形或者其它形状。 在ce自制平台中如转载 2009-07-11 21:54:00 · 664 阅读 · 0 评论 -
WinCE驱动开发问题精华集锦2
驱动程序如何发通知给应用程序? 这里介绍一下常见的两种办法。 1、驱动程序调用API SendNotifyMessage,发送特定的消息给应用程序,这就要求应用程序要有消息循环机制并且要事先做好消息的处理。参数 1为窗口句柄,可以设置HWND_BROADCAST表示广播消息。要注意的是不要在参数中传递指针(虚拟地址),因为执行驱动程序的线程和应用程序并不在同一个进程空间中。解决办法可以利用内存映射转载 2009-07-11 22:01:00 · 887 阅读 · 0 评论 -
WINCE6.0 远程工具,不能使用ActiveSync连接的问题
<br />现象:<br />“VS2005->Target->Remote Tools”打开的远程工具,当选用ActiveSync作为连接方式时,会出现如下错误:<br />“The Microsoft ActiveSync reported the following error: Unable to load device side components”<br />解决方法:<br />出现上面的错误对话框是因为找不到目录":/ProgramFiles/Common Files/Microsoft转载 2010-07-02 00:18:00 · 1073 阅读 · 0 评论 -
谈谈Unicode编码
这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题: 问题一: 使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文件,Windows是怎样识别编码方式的呢? 我很早前就发现转载 2010-05-30 00:17:00 · 610 阅读 · 0 评论 -
Windows Mobile编程技巧之如何访问网站
<br />今天来跟大家分享一下如何用程序实现调用微软的ie浏览器打开指定的网站。有两种方法,下面我们来详细说明。第一种方法是调用函数ShellExecuteEx实现的。首先需要对结构体SHELLEXECUTEINFO进行赋值。比方说我们要打开http://innovator.samsungmobile.com/cn。具体要这么赋值: SHELLEXECUTEINFO ShellInfo; <br /> memset(&ShellInfo, 0, sizeof(ShellInf转载 2010-12-02 22:54:00 · 772 阅读 · 0 评论 -
Wince 检测 SD卡/USB 拔插
在wince系统中,如何检测USB/SD卡的拔插呢?可能有的会写一个线程专门去侦察USB/SD 的拔插情况,我觉得这样又费资源又费时间,很不划算,有没有更好的办法呢?当然有,今天我就介绍一种新的方法:WM_DEVICECHANGE,如下:LRESULT CGpsIdTestDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam){ // TODO: 在此添加专用代码和/或调用基类 if (message == WM_DEVICE原创 2010-12-12 22:58:00 · 4638 阅读 · 1 评论 -
探索Windows CE 6驱动程序新特性
Windows CE 6驱动程序新特性之访问检查访问检查是用来检查函数的调用者是否有足够的权限去访问传递给这个函数的内存。访问检查是很必要的,它可以防止恶意的应用程序利用驱动程序去完成需要特权才能访问的资源。设备驱动程序由于在Windows Embedded CE 6.0中处于内核空间所以是一种特权程序,可以访问很多系统的资源。而工作在用户态的应用程序却不是。如果一个应用程序利用设备驱动程序去转载 2009-08-05 22:06:00 · 713 阅读 · 0 评论 -
wince6.0 获取SD ID
一般,我们获取SD ID是通过2种方法(实际上市一回事,只不过是形式上不同而已),一是CreateFile(L"DSK2:", ...); 再DeviceIoControl(hFile, IOCTL_DISK_GET_STORAGEID, NULL, 0, &storeID, MAX_PAT,&dwBytesRead, NULL); 这是一种比较常用的方法,很好用,得到的结果也很正确;第二种方法就原创 2009-08-02 23:35:00 · 2840 阅读 · 9 评论 -
Understanding Memory Sections in config.bib, boot.bib, and OEMAddressTable in Windows CE 5.0 and 6.0
IntroductionWindows CE uses .bib (binary image builder) files to track, among other things, the memory layout of bootloaders as well as OS images. If you’re writing a new BSP, you’ll definitely n转载 2009-05-28 20:26:00 · 1300 阅读 · 0 评论 -
Wince 添加中文字库
以前在定制wince中文系统时候,老是出现NK太大,系统定制失败。今天又碰到该问题,不能老是躲避这种问题,再来try一下,结果和想象的一样,还是NK太大,郁闷,一定要找到根源;Google了一下,自己又试了两下,哇塞,成功了!Happy! 总结如下:1. 在定制wince系统的时候,进入” project Properties”里,在Local/clear, 再选择你想要系统支持的语言,在原创 2009-03-29 23:30:00 · 4190 阅读 · 0 评论 -
Nand-Flash/Nor-Flash存储模块设计
随着嵌入式系统越来越广泛的应用,嵌入式系统中的数据存储和数据管理已经成为一个重要的研究课题。Flash存储器具有速度快、成本低等很多优点,因此在嵌入式系统中的应用也越来越多。为了合理地管理存储数据,进行数据共享,Flash的设计在ARM嵌入式系统中对数据存储和数据管理尤为重要。1实例说明在嵌入式设备中,有两种程序运行方式:一种是将程序加载到SDRAM转载 2009-04-26 14:11:00 · 1344 阅读 · 0 评论 -
Wince Battery driver
最近调了wince battery driver, 对电池驱动有了一点点了解,如下:1.Windows CE电池驱动属于分层驱动,由MDD层和PDD层组成。微软给我们的代码在D:/WINCE600/PUBLIC/COMMON/OAK/DRIVERS/BATTDRVR 目录下,该目录MDD文件夹是MDD 代码,一般的我们都不用动,直接引用即可。而PDD文件夹下的sbattif.c 是PDD的框架原创 2009-04-30 22:15:00 · 3980 阅读 · 2 评论 -
WinCE电源管理
1.什么是WinCE电源管理 (1)电源管理概念与方法 在电池供电的移动嵌入式系统中,一般采用高效率的电源芯片用于供电管理,或采用大容量的电池以解决能耗需求,但这两种技术的发展还无法满足移动嵌入式设备的动态功耗和静态功耗。有一种方法可以协调高性能与低功耗之间的矛盾,就是根据系统负载进行性能调节,通过停止某些模块的时钟和电源供应将能耗降至最低。 嵌入式系统按功率消耗由小到大分为转载 2009-04-30 23:33:00 · 1692 阅读 · 0 评论 -
wince中的hook(钩子)用法
Hook(钩子)是一种在消息到达目标窗口前进行截获的技术。使用钩子主要使用以下三个函数SetWindowsHookEx:创建钩子CallNextHookEx:将消息传给钩子链中的下一个钩子UnhookWindowsHookEx:释放钩子对于创建钩子的函数SetWindowsHookEx,MSDN给出其原形如下: HHOOK SetWindowsHookEx( int idHook,转载 2009-07-24 21:31:00 · 1033 阅读 · 0 评论 -
浅谈WinCE EBOOT中的BootPart分析
来源: 发布时间:2008-11-28 发布人: 浏览:246 人次 字体: [大 中 小] 在wince中,BootPart应该是微软提供的一个用于分区的模块,可以在EBOOT中使用。不过说实话,我很少使用它,知道有些厂商的BSP里面支持这个功能,而且也算是EBOOT的一部分,所以还是介绍一下。先看一下架构,如图: 在EBOOT中,BLCOMMON处于最上层,这个在以前已经介转载 2009-05-19 22:46:00 · 723 阅读 · 0 评论 -
Eboot 中给nandflash分区实现
提到分区就不得不提到MBR,不得不提到分区表。什么是MBR硬盘的0柱面、0磁头、1扇区称为主引导扇区,NANDFLASH由BLOCK和Sector组成,所以NANDFLASH的第0 BLOCK,第1 Sector为主引导扇区,FDISK程序写到该扇区的内容称为主引导记录(MBR)。该记录占用512个字节,它用于硬盘启动时将系统控制权交给用户指定的,并在分区表中登记了的某个操作系统区。转载 2009-05-20 20:39:00 · 1886 阅读 · 0 评论 -
嵌入式和WinCE的基础知识(转)
Q:什么是嵌入式系统? 国际电气和电子工程师协会(IEEE)对嵌入式系统的定义是这样的:嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置”(Devices used to control, monitor, or assist the operation of equipment, machinery or plants)。 但转载 2009-07-30 00:05:00 · 722 阅读 · 0 评论 -
WindowsCE目录解析
windowsCE的目录结构巨大而庞杂,尽管windowsCE的帮助对这个庞大的目录结构进行了说明仍然有很多目录下对应的代码在windowsCE help没有介绍其具体用途,下面就将windowsCE的目录结构进行简单的介绍。 1.SDK 在windowsCE.net4.2的根目录下存在PLATFORM,PRIVATE,SDK,OTHERS,PUBLIC五个目录。SDK是其中最为简单的一个目录结构转载 2009-05-19 22:51:00 · 868 阅读 · 0 评论 -
S3c2440A WINCE平台HIVE注册表+binfs的实现
S3c2440A平台HIVE注册表+binfs的实现 今天总结一些实现的过程和原理。 我的例子是基于samsung S3C2440A+samsung ONENAND+WinCE5.0的,开发平台是platform builder 5.0,首先我们基于RAM register的image已经可以正常跑起来了,Flash除了放置image外其他的空间为用户提供文件系统,转载 2009-05-20 23:57:00 · 738 阅读 · 0 评论