出版时间:2009-3 出版社:机械工业出版社 作者:柏林 页数:562 译者:何宗键
Tag标签:无
前言
我是从3.0版本开始学习微软的Windows CE操作系统的。随着学习的深入,我越来越多地感受到Windows CE与桌面Windows之间的不同之处。毫不夸张地说,Windows CE把我从桌面开发带入了一个崭新的嵌入式开发领域。很多时候,由于Windows CE与桌面Windows之间的差异如此之大,我们无法直接把在桌面Windows中积累的开发经验直接应用到Windows CE开发上。因此,我一直觉得Windows CE的开发人员也迫切需要一本跟桌面Windows开发领域的《Programming Microsoft Windows》一样权威的技术书籍,来介绍Windows CE的开发技术。 第一次接触Douglas Boling的《Programming Microsoft Windows CE》还是若干年前这本书第2版的中译本,内容是基于Windows CE 3.O的。说实话,读完之后觉得不温不火,并没有太大收获,全书的内容与桌面Windows编程重复较多、并没有体现出Windows CE或嵌入式开发的特色。 2005年夏天,微软亚洲研究院与同济大学软件学院针对全国高校的教师,举办了一次嵌入式教学研讨会,研讨会用这本书的第3版《Programming Microsoft Windows CE.NET》英文版作为会议资料,发给每一位与会的老师。作为软件学院的老师,我自然也有幸对本书第3版先睹为快。第3版是基于Windows CE 4.x的。从内容上讲,第3版较前几版注入了更多新鲜血液,例如设备驱动程序开发、智能手机平台开发、系统架构分析等等。从组织上,也刻意与桌面’Windows区分开来,全书五大部分中,除了第一部分,其他全是Windows CE开发特有的内容。 2008年夏天,微软中国MVP Team邀请一些MVP来翻译一些最新出版的技术书籍。在书籍列表中,我看到了本书的最新版,也就是现在的这本《Programming Windows Embedded CE 6.0》。我毫不犹豫地向微软索取了本书的最新版。从页数上说,虽然第4版比第3版要少,但是内容却更有针对性,剔除了Windows Mobile编程的部分(这的确应该是另外一个话题,微软内部都把Mobile和Embedded部门独立开来了),而在Windows CE的开发上着墨更多。蓝牙、电源管理等很多对嵌入式开发极为重要的模块都加入到了本书中。 回顾过去,本书的确是随着Windows CE的进化而发展的,作者近十年不懈地对书籍内容进行更新、修正,使得书籍的针对性、目标读者、内容定位都日趋合理。在Windows CE操作系统逐渐由丑小鸭变成会凤凰的同时,本书也在潜移默化中化茧成蝶了。
内容概要
本书包含“Windows编程基础”、“Windows CE编程”、“高级Windows CE”三部分内容,帮助你全面了解Windows CE操作系统。同时包含大量Windows CE示例程序,所有的例子都是直接用API编写的,教会你如何编写Windows CE程序。Windows CE API的知识可以使我们更高效地使用MFC。 本书是为所有在Windows CE下开发应用程序的人编写的,能为他们提供有价值的信息,使他们更加轻而易举地完成自己的任务。
作者简介
Douglas Boling,知名的Windows CE项目顾问咨询公司的创始人,为全球的公司讲授Windows CE和Windows Mobile课程。Doug也是行业活动受欢迎的发言人,在多个行业活动包括Windows嵌入式开发者大全上发表演讲。
书籍目录
第一部分 Windows编程基础 第1章 Hello Windows CE 1.1 Windows CE标准Windows的差别 1.1.1 Windows CE和标准Windows的差别 1.1.2 资源有限的Windows CE设备 1.1.3 Unicode编码 1.1.4 组件化设计 1.1.5 Win32子集 1.2 仍然是Windows编程 1.3 第一个Windows CE应用程序 1.3.1 创建第一个Windows CE应用程序 1.3.2 运行程序 1.3.3 出了什么问题 1.4 Hello2程序 1.5 剖析窗口应用程序 1.5.1 窗口 1.5.2 窗口类 1.5.3 窗口过程 1.5.4 消息的生命期 1.5.5 注册窗口 1.5.6 创建窗口 1.5.7 消息循环 1.5.8 窗口过程 1.6 Hello CE 1.7 运行Hello CE 第2章 在屏幕上绘图 2.1 绘图基础 2.1.1 合法和非法区域 2.1.2 设备上下文 2.2 文本输出 2.2.1 设备上下文属性 2.2.2 TextDemo示例程序 2.2.3 字体 2.2.4 未完成的任务 2.3 位图 2.3.1 设备相关位图 2.3.2 设备无关位图 2.3.3 DIB区域 2.3.4 绘制位图 2.3.5 AlphaBlending 2.4 线和形体 2.4.1 线 2.4.2 形体 2.4.3 填充函数 2.4.4 Shapes示例程序 第3章 输入:键盘、鼠标和触摸屏 3.1 键盘 3.1.1 输入焦点 3.1.2 键盘消息 3.1.3 键盘函数 3.1.4 KeyTrac示例程序 3.2 鼠标和触摸屏 3.2.1 鼠标消息 3.2.2 使用触摸屏 3.2.3 TicTacl示例程序 第4章 窗口、控件和菜单 4.1 子窗口 4.2 窗口管理函数 4.2.1 枚举窗口 4.2.2 寻找窗口 4.2.3 移动窗口 4.2.4 编辑窗口结构的内容 4.3 窗口控件 4.3.1 使用控件工作 4.3.2 按钮控件 …… 第5章 通用控件与Windows CE 第6章 对话框和属性表第二部分 Windows CE编程 第7章 内存管理 第8章 模块、进程和线程 第9章 Windows CE文件系统 第10章 注册表 第11章 Windows CE数据库 第12章 通知第三部分 高级Windows CE 第13章 Windows CE网络 第14章 设备间通信 第15章 系统程序设计 第16章 串行通信 第17章 设备驱动程序和服务
章节摘录
1.1.1 资源有限的Windows CE设备 运行Windows CE的目标设备的硬件资源不是一成不变的。在标准Windows平台上设计程序,对目标设备程序员可以假定很多条件,目标设备总是一台IBM兼容PC。设备使用硬盘来存储文件,包含虚拟RAM系统,可以使用硬盘作为交换设备,模拟出几乎没有容量限制的虚拟RAM。程序员知道最终用户会使用键盘,两键鼠标,显示系统至少支持256色,分辨率至少为1024×768。 运行Windows CE的设备很少使用硬盘作为存储介质。没有硬盘意味着不仅没有空间存放大文件,也不能使用硬盘模拟内存的虚拟RAM技术。所以Windows CE程序几乎总是运行在低内存环境下。因为资源有限,分配内存可能会失败。Windows CE Shell被设计为自动终止不使用的应用程序,当检测到可用内存非常低的时候。RAM的限制对Windows CE程序设计是一个很大的冲击,也是向Windows CE移植程序时的最大挑战。 1.1.2 Unil20de编码 开发Windows CE应用程序,需要使用Unicode编码。Unicode编码是一种平台无关的字符编码标准。Unicode标准中,一个字符可以用8位、16位或者32位二进制数据表示,分别为UTF8、UTFl6和IYrF32编码方式。Windows CE用UTFl6来编码字符。Unicode编码使应用程序在不同区域和语言之间的移植更加方便。Unicode的使用相对比较简便,前提是避免这样的假定,字符串由ASCII码表示,每个字符占用一个字节。 使用UTFl6编程时需要注意,每个字符占用两个字节而不是一个字节,字符串的长度是原来的两倍。程序员必须谨慎地设定缓冲长度和字符串长度。UTFl6编程时,260个字节不能存储长度为259,以0标记结束的字符串。应该使用TCHAR数据类型来替代标准的char数据类型。在开发ANSI兼容应用程序时,TCHAR被定义为char;在开发Unicode编码应用程序时,例如Microsoft’Windows 2000、Windows XP、Windows Vista和Windows CE程序,TCHAR被定义为unsigned short。这样的类型定义可以实现在ANSI和Unicode操作系统之间的源代码兼容。1.1.3新的控件 Windows CE引入了一些为特定环境重新设计的窗体控件。新的控件包括菜单栏控件,能够在一行的空间中同时提供菜单和工具栏功能,有效节省Windows CE设备较小的屏幕空间。其他控件也针对Windows CE进行了增强。编辑框控件的一个版本可以设定为自动将单词的首字母转换为大写,方便了无键盘的PDA设备的输入。
编辑推荐
开发嵌入式和移动设备的权威指南: 《Windows CE6.0开发者参考(原书第4版)》是获得新颖、实用的开发小尺寸应用程序的参考,它已经针对Windows Embedded CE6.0内核进行了更新。《Windows CE6.0开发者参考(原书第4版)》由嵌入式应用程序开发的权威人士编写,专注于操作系统核心概念和Win32API。提供了广泛的代码示例和项目示例。帮助你在新一代设备上熟练地开发创新的应用程序。 主要内容: 针对嵌入式设备的独特需求设计复杂的应用程序。 管理虚拟内存、堆和栈以减小程序的内存占用。 创建多线程进程和处理事件。 使用存储管理器来管理不同的文件系统和卷。 使用数据库API存储简单的分组数据。 读写注册表数据,枚举主键和键值。 调度用户、计时器和系统事件,以及气泡通知。 连接到有线和无线网络,PC以及其他设备。
图书封面
图书标签Tags
无
评论、评分、阅读与下载