Windows Mobile手机应用开发

Windows Mobile手机应用开发
作 者: 傅曦 齐宇 徐骏
出版社: 人民邮电出版社
丛编项: 移动开发系列丛书
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 高级程序语言设计
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  国内著名嵌入式网站嵌入式研究网(http://www.cnemb.com)创始人。有多年嵌入式操作系统开发经验,精通移动计算开发和嵌入式设备驱动开发。著有《Windows CE 开发技巧与实例》、《Palm OS 编程实践》等书。

内容简介

随着微软WindowsMobile智能终端技术的发展,针对WindowsMobile平台的开发技术越来越受到行业消费市场的关注,越来越多的基于WindowsMobile平台的行业和个人应用软件相继出现、方兴未艾。同时,由于WindowsMobile程序与桌面Windows程序有强大的互补性以及WindowsMobile程序开发工具的好学易用性,越来越多的原Windows程序开发者以及程序开发爱好者,都对WindowsMobile应用程序的开发表现出了很大的关注和很高的学习热情。本书能使行业开发者和初学者快速掌握WindowsMobile手机应用开发技术,解决开发中的技术难题。本书总结了作者近年来在WindowsMobile平台下开发应用程序的经验和体会,全面介绍了使用EmbeddedVisualC++和.NETCompactFramework开发WindowsMobile应用程序的多种实用技术,对每个WindowsMobile开发的技术点都有涉猎,并提供了很多详细例程介绍及完整的源代码介绍。

图书目录

第1章 Windows Mobile简介 1

1.1 Windows Mobile概要 1

1.1.1 Windows CE简介 1

1.1.2 Windows CE的设计目标 2

1.1.3 Windows Mobile简介 2

1.1.4 Windows Mobile行业应用 3

1.2 Mobile2Market简介 4

1.2.1 什么是Mobile2Market 4

1.2.2 开发和支持 5

1.2.3 Logo认证和代码签名 6

1.2.4 市场推广和移动应用目录 8

1.2.5 Windows Mobile相关网站 8

第2章 Windows Mobile开发介绍 10

2.1 事件驱动和消息响应机制 10

2.2 Windows mobile程序和Windows程序的不同点 11

2.2.1 Windows CE APIs和Win32 API间的不同 11

2.2.2 Windows CE MFC和标准MFC的不同 11

2.2.3 存储器的限制 12

2.2.4 电源管理 12

2.2.5 硬件特性 12

2.2.6 测试和调试 12

2.3 Embedded Visual C++开发工具介绍 13

2.3.1 Embedded Visual C++的特性 13

2.3.2 建立应用程序 14

2.3.3 类及文件说明 18

2.3.4 编译和运行Hello Windows CE程序 20

2.3.5 辅助开发工具 20

2.4 .NET Compact Framework开发介绍 23

2.4.1 .NET Compact Framework简介 23

2.4.2 .NET Compact Framework不包括的功能 26

2.4.3 使用Visual Studio .NET 2003进行开发 29

2.5 Windows程序向Windows mobile程序移植的关键要素 36

2.5.1 移植使用Windows CE API 36

2.5.2 管理Windows CE的存储器 37

2.5.3 管理可用的电量 37

2.5.4 移植图形用户接口 38

2.5.5 调整位图和图标 38

2.5.6 使用Unicode 38

2.5.7 创建和管理窗口 38

2.5.8 使用Windows CE对话框 39

2.5.9 移植用户接口控件 39

2.5.10 管理Windows CE线程 39

2.5.11 更改用户接口 39

2.5.12 支持Windows CE通信 40

2.5.13 最小化使用注册表 41

第3章 Windows Mobile系统 42

3.1 软输入面板(SIP) 42

3.1.1 概要 42

3.1.2 显示/隐藏SIP 43

3.1.3 移动SIP 44

3.1.4 禁止SIP的单词自动填充 44

3.1.5 恢复单词自动填充 44

3.1.6 SIP徽标要求 45

3.2 密码保护 47

3.2.1 概要 47

3.2.2 在Pocket PC上的特性 48

3.2.3 Pocket PC 2003的新特性 48

3.2.4 设置密码的延迟时间 48

3.2.5 使用STPasswordManager库改变密码设置 49

3.3 硬按键 56

3.3.1 概要 56

3.3.2 硬按键的虚拟代码 57

3.3.3 使用应用程序运行键 58

3.3.4 使用STUtil类 58

3.4 后台服务程序 67

3.4.1 概要 67

3.4.2 创建Service DLL 68

3.4.3 Service的注册表配置 74

3.5 创建控制面板程序 75

3.5.1 概要 75

3.5.2 创建控制面板程序的步骤 75

3.5.3 使用示例 77

3.6 存储卡 78

3.6.1 无驱动字符 78

3.6.2 存储卡定位 78

3.6.3 CStorageCard类库 79

第4章 菜单、对话框和窗口 84

4.1 菜单 84

4.1.1 概要 84

4.1.2 和菜单有关的主要消息及其响应函数 84

4.1.3 CMenu类 87

4.1.4 上下文菜单 89

4.1.5 菜单操作技巧 91

4.2 对话框 92

4.2.1 使用资源编辑器编辑对话框 92

4.2.2 对话框的数据交换和数据检查 93

4.2.3 模态和非模态对话框 94

4.2.4 通用对话框 97

4.3 窗口 98

4.3.1 产生CWnd对象 98

4.3.2 消息映射 100

4.3.3 关闭窗口 101

4.3.4 CWnd和句柄 102

4.3.5 SDMV应用中的窗口切换函数 103

第5章 Windows Mobile控件 107

5.1 Windows标准控件和通用控件 107

5.1.1 静态控件 107

5.1.2 按钮控件 111

5.1.3 编辑控件 114

5.1.4 单选按钮 120

5.1.5 复选按钮 124

5.1.6 组合框控件 128

5.1.7 列表框控件 137

5.1.8 滚动条控件 141

5.1.9 树状控件 143

5.1.10 时间控件 147

5.1.11 月历控件 150

5.2 MFC控件类介绍及使用范例 151

5.2.1 CCeButtonST类 151

5.2.2 Grid类 157

5.2.3 Progress类 170

第6章 屏幕绘图基础 177

6.1 基本文本操作 177

6.1.1 文本输出函数 177

6.1.2 文本属性 181

6.1.3 字符属性 185

6.1.4 字体 186

6.1.5 文本显示特殊技巧 190

6.2 基本图形图像操作 193

6.2.1 绘图函数 193

6.2.2 画笔 198

6.2.3 画刷 203

6.2.4 位图画刷 205

6.2.5 方便实用的画笔和画刷类 208

6.2.6 绘图模式 209

6.2.7 位图 211

6.2.8 位操作 213

6.2.9 图标 215

6.3 高级屏幕绘图 216

6.3.1 DIB类 216

6.3.2 未公开的图像API 222

6.3.3 imgdecmp.dll和VOImage类 223

6.3.4 IJG JPEG库 224

6.3.5 Windows CE高速图形库 228

6.3.6 二维实时图形 233

6.3.7 分析图表类库 236

第7章 多线程和多进程 246

7.1 概述 246

7.2 Windows mobile的多任务机制 246

7.2.1 多线程和多进程 246

7.2.2 线程调度和优先级 247

7.3 多线程 248

7.3.1 概述 248

7.3.2 创建线程 249

7.3.3 线程间同步 251

7.3.4 终止线程 256

7.3.5 多线程开发技巧 256

7.4 多进程 259

7.4.1 创建和终止进程 259

7.4.2 进程间共享数据 264

第8章 存储对象 267

8.1 属性数据库 267

8.1.1 数据卷 267

8.1.2 创建和装载数据卷 268

8.1.3 卸载一个卷 269

8.1.4 写入数据库卷 269

8.1.5 列举已装载的数据卷 270

8.1.6 创建属性数据库 272

8.1.7 打开和关闭数据库 272

8.1.8 读写记录 276

8.1.9 搜索记录 278

8.1.10 删除属性、记录和数据库 280

8.1.11 列举数据库信息 281

8.2 注册表 282

8.2.1 添加和更新注册表键和键值 283

8.2.2 查询注册表键值 285

8.2.3 删除键值和键 287

8.2.4 枚举键值 288

8.3 文件操作 291

8.3.1 打开读取文件 291

8.3.2 关闭文件 293

8.3.3 获得文件时间 295

8.3.4 获得文件大小 297

8.3.5 获得文件属性 298

8.3.6 文件的写操作 302

8.3.7 移动文件指针 304

8.3.8 内存映射文件 305

8.3.9 内存映射对象 307

8.3.10 查看文件系统 309

第9章 Windows mobile通信 313

9.1 串行通信 313

9.1.1 RS-232串行接口标准 313

9.1.2 打开和关闭串行端口 315

9.1.3 读写串行端口 316

9.1.4 配置串行端口 317

9.1.5 出错处理 320

9.1.6 异步多线程通信 321

9.1.7 串口通信示例 322

9.2 红外线通信 325

9.2.1 IrDA协议概述 325

9.2.2 原始IRDA 327

9.2.3 IrCOMM 329

9.2.4 IrSock 330

9.2.5 红外通信范例 338

9.3 RAPI 344

9.3.1 RAPI概述 344

9.3.2 预定义RAPI函数 344

9.3.3 自定义RAPI函数 346

9.3.4 RAPI函数使用范例 348

9.4 ActiveSync 351

9.4.1 ActiveSync概念 351

9.4.2 ActiveSync供应者 352

9.4.3 AdoFiltr程序 355

9.5 蓝牙 368

9.5.1 简介 368

9.5.2 架构 369

9.5.3 蓝牙安全性 371

9.5.4 查询蓝牙 371

9.5.5 蓝牙设备的WinSockt接口方式 373

9.5.6 蓝牙的COM/COM方式 376

第10章 Windows Mobile游戏开发简介 378

10.1 基本Windows GDI技术 378

10.1.1 普通GDI绘屏技术(ON SCREEN) 378

10.1.2 离屏(OFF SCREEN)技术 381

10.2 GAPI 385

10.2.1 操纵GAPI 385

10.2.2 GAPI高效贴图 388

10.2.3 Gapi按键 392

10.2.4 振动效果 394

10.2.5 完整的GAPI开发示例 396

10.3 第三方开发库简介 398

第11章 Windows Mobile电话相关编程 404

11.1 连接管理 404

11.1.1 概述 404

11.1.2 建立连接管理 406

11.1.3 枚举网络标识符 408

11.1.4 创建连接 409

11.1.5 获取连接状态 414

11.1.6 连接优先级 415

11.1.7 释放连接 416

11.1.8 连接服务与代理 416

11.1.9 计划管理连接 418

11.2 TAPI 421

11.2.1 概述 421

11.2.2 初始化TAPI 423

11.2.3 打开线路设备 425

12.2.4 查询TAPI版本 427

11.2.5 电话地址转换 428

11.2.6 呼叫对方 430

11.2.7 接听电话 435

11.2.8 结束呼叫 435

11.2.9 消息处理 436

11.3 短消息服务(SMS) 443

11.3.1 SMS地址 444

11.3.2 SMS Service Center(SMSC) 445

11.3.3 打开SMS服务 446

11.3.4 SMS Message 协议 448

11.3.5 发送短消息 448

11.3.6 读取短消息 452

11.3.7 关闭消息句柄 454

11.3.8 SMS通知 455

11.3.9 从SMS得到额外的信息 455

11.4 SIM卡 457

第12章 调试技巧 464

12.1 EVC的设置编译选项 464

12.2 错误 465

12.2.1 错误类型 465

12.2.2 语法或编译性错误 466

12.2.3 链接错误 466

12.2.4 运行错误 466

12.2.5 逻辑或意图错误 466

12.2.6 查看出错信息 467

12.3 调试 468

12.3.1 启动Debugger 468

12.3.2 Debugger窗口 470

12.3.3 Debugger快捷键 471

12.4 几个重要的宏 471

12.4.1 ASSERT 471

12.4.2 TRACE 472

12.4.3 VERIFY 472

12.5 日志文件 473

第13章 创建窗体 477

13.1 什么是窗体 477

13.1.1 概念 477

13.1.2 从Form类继承窗体 478

13.1.3 属性、方法、事件 478

13.2 操作窗体 483

13.2.1 创建窗体 483

13.2.2 显示窗体 484

13.2.3 关闭窗体 485

13.2.4 处理孤立的窗体 486

13.2.5 窗体操作示例 487

13.3 继承和可视继承 491

13.3.1 窗体继承 491

13.3.2 可视继承 492

第14章 鼠标和键盘输入 497

14.1 设备输入 497

14.1.1 事件驱动输入 498

14.1.2 顶端窗口 498

14.1.3 可用性 499

14.1.4 可见性 499

14.1.5 键盘输入 499

14.1.6 鼠标输入 500

14.1.7 使用控件提供的鼠标和键盘输入处理 500

14.1.8 控件支持的输入事件 500

14.1.9 输入和鼠标光标 501

14.2 鼠标输入编程 502

14.2.1 鼠标事件 502

14.2.2 自动鼠标捕获 502

14.2.3 鼠标事件处理 502

14.3 鼠标操作例子 505

14.3.1 绘制矩形虚线框 505

14.3.2 收集坐标点 508

14.3.3 绘制矩形 510

14.3.4 设置鼠标光标 512

14.3.5 使用Win32函数设置光标 512

14.4 键盘输入编程 514

14.4.1 设备按键 514

14.4.2 SIP 515

14.4.3 键盘 515

14.4.4 Win32函数keybd_event 516

14.4.5 键盘事件 516

14.4.6 焦点事件 516

14.4.7 激活事件 516

14.4.8 Pocket PC设备按键 517

14.4.9 键盘事件处理 518

14.4.10 键盘输入例子KeyInput 519

14.4.11 SIP变化 519

第15章 .NET Compact Framework控件 521

15.1 什么是控件 521

15.1.1 可视化对象 521

15.1.2 保持桌面.NET Framework的一致性 522

15.2 控件分类 523

15.2.1 基类父控件 523

15.2.2 容器控件 524

15.2.3 单项控件 524

15.2.4 多项控件 525

15.2.5 命令输入控件 526

15.2.6 可视量化值控件 526

15.2.7 后台控件 527

15.3 事件、属性、方法 527

15.3.1 核心事件 527

15.3.2 核心属性 533

15.3.3 核心方法 536

15.4 控件类型 538

15.5 通用控件 539

15.5.1 标签控件 542

15.5.2 TextBox控件 543

15.5.3 列表框和下拉框 543

15.5.4 按钮控件 545

15.5.5 检查按钮和单选按钮 546

15.5.6 一个TimeTracker例子程序 546

第16章 数据绑定到控件 558

16.1 数据绑定 558

16.1.1 可数据绑定的控件 559

16.1.2 数据绑定对象 560

16.2 复杂数据绑定 564

16.2.1 使用复制数据绑定ListBox和ComboBox控件 565

16.3 简单数据绑定 565

16.3.1 BindingsCollection属性 566

16.3.2 格式化和解析 567

16.4 DataGrid控件 568

16.4.1 使用复杂数据绑定DataGrid控件 570

16.4.2 DataGrid控件数据显示样式 571

16.4.3 创建表和列的样式 572

16.4.4 运行时创建样式 574

16.4.5 响应用户的输入 576

16.4.6 访问DataGrid信息 577

第17章 ADO.NET编程 583

17.1 ADO.NET介绍 585

17.1.1 一个分层程序 586

17.1.2 ADO.NET类 587

17.1.3 ADO.NET出错处理 590

17.2 与数据集协同工作 591

17.2.1 创建和访问DataSet、DataTable和DataView对象 592

17.2.2 数据绑定 596

17.2.3 读写一个数据集为XML 603

17.3 Microsoft SQL Server CE 605

17.3.1 SQL Server CE文件 605

17.3.2 SQL Server CE语法 606

17.3.3 SQL Server CE Query Analyzer 608

17.3.4 创建一个SQL Server CE数据库 609

17.3.5 组装一个SQL Server CE 数据库 611

17.3.6 接收和显示数据 614

17.3.7 更新一个SQL Server CE数据库 623

17.4 Microsoft SQL Server 625

17.4.1 连接到SQL Server 626

17.4.2 使用SQL Server存储过程 633

17.4.3 用DataSet对象使用存储过程 639

17.4.4 DataSet对象和并发 642

17.5 Web Services 643

17.5.1 XML、XSD和SOAP 643

17.5.2 一个Web Service程序 645

17.5.3 一个Web Service客户程序 654

第18章 同步Windows Mobile设备数据 657

18.1 理解远程数据应用程序 657

18.1.1 RDA和合并复制 658

18.1.2 IIS 连接性 658

18.1.3 数据库连接性 659

18.2 安装远程数据连接 659

18.3 使用RDA 664

18.3.1 RDA概述 664

18.3.2 RDA的结构和原理 664

18.3.3 Pull数据 666

18.3.4 Push数据 668

18.3.5 使用SubmitSQL方法 669

18.4 使用合并复制 670

18.4.1 合并复制概述 670

18.4.2 合并复制的结构和原理 671

18.4.3 使用合并复制发布和订阅数据 672

18.4.4 同步数据 678

18.4.5 在设备上修改数据 679