图书介绍

Windows API开发详解 函数、接口、编程实例PDF|Epub|txt|kindle电子书版本网盘下载

Windows API开发详解 函数、接口、编程实例
  • 范文庆,周彬彬,安靖编著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115244277
  • 出版时间:2011
  • 标注页数:612页
  • 文件大小:96MB
  • 文件页数:633页
  • 主题词:窗口软件,Windows-软件接口-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Windows API开发详解 函数、接口、编程实例PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 Windows应用程序开发入门1

1.1 第一个实例程序1

1.1.1 start.exe1

1.1.2 Windows API2

1.1.3 程序入口函数2

1.1.4 start.c代码分析2

1.2 编译代码3

1.2.1 安装Visual Studio4

1.2.2 安装Microsoft Platform SDK4

1.2.3 集成Microsorft Platform SDK与Visual C++速成版6

1.2.4 Windows 7 SDK与Visual Studio 20107

1.2.5 Visual Studio专业版或团队系统版7

1.2.6 使用图形化IDE建立工程、进行编译7

1.2.7 “解决方案”与“工程”9

1.2.8 使用命令行工具编译9

第2章 Windows API概要10

2.1 Windows数据类型10

2.1.1 Windows数据类型示例10

2.1.2 Windows数据类型与标准C数据类型的关系14

2.1.3 Windows数据类型与Windows API14

2.1.4 Windows中的数据结构15

2.2 Windows API的功能分类16

2.2.1 系统基本服务16

2.2.2 系统管理18

2.2.3 用户界面18

2.2.4 图像和多媒体21

2.2.5 网络21

2.2.6 系统安全21

2.2.7 其他功能22

2.3 Windows API核心DLL22

2.3.1 Kernel32.dll22

2.3.2 User32.dll23

2.3.3 Gdi32.dll23

2.3.4 标准C函数及Crtdll_dll23

2.3.5 其他Dll23

2.4 Unicode和多字节23

2.4.1 W版本和A版本的API25

2.4.2 Unicode与ASCII的转换26

2.5 对Windows程序设计规范的建议26

第3章 开发工具配置与使用28

3.1 使用Visual C/C++编译链接工具28

3.1.1 编译器cl.exe29

3.1.2 资源编译器rc.exe34

3.1.3 链接器link.exe35

3.1.4 其他工具41

3.1.5 编译链接工具依赖的环境变量42

3.1.6 示例:使用/D选项进行条件编译46

3.2 使用Platform SDK47

3.2.1 Platform SDK的目录结构与功能47

3.2.2 为编译链接工具设置环境变量48

3.2.3 Platform SDK工具集50

3.2.4 Windows Vista SDK52

3.3 编写Makefile52

3.3.1 使用nmake.exe构建工程52

3.3.2 Makefile实例54

3.3.3 注释55

3.3.4 宏55

3.3.5 描述块:目标、依赖项和命令57

3.3.6 makefile预处理60

3.3.7 在Platform SDK的基础上使用nmake61

3.3 使用WinDbg调试62

3.4.1 安装WinDbg63

3.4.2 编译可调试的程序64

3.4.3 WinDbg命令64

3.4.4 调试过程演示65

3.5 集成开发环境Visual Studio68

3.5.1 工程类型选择与配置68

3.5.2 Visual Studio快捷方式70

3.5.3 生成项目70

3.5.4 调试71

3.5.5 选项与设置71

3.6 开发环境配置总结72

第4章 文件系统73

4.1 概述&..73

4.1.1 文件系统的基本概念73

4.1.2 文件系统主要API74

4.2 磁盘和驱动器管理76

4.2.1 遍历卷并获取属性76

4.2.2 操作驱动器挂载点83

4.2.3 判断光驱中是否有光盘88

4.2.4 获取磁盘分区的总容量、空闲容量、簇、扇区信息91

4.3 文件和目录管理94

4.3.1 删除、复制、重命名、移动文件95

4.3.2 创建、打开、读写文件,获取文件大小98

4.3.3 创建目录105

4.3.4 获取程序所在的目录、程序模块路径,获取和设置当前目录106

4.3.5 查找文件、遍历指定目录下的文件和子目录110

4.3.6 递归遍历目录树113

4.3.7 获取、设置文件属性和时间115

4.4 内存映射文件122

4.4.1 使用Mapping File提高文件读写的效率122

4.4.2 通过Mapping File在进程间传递和共享数据127

4.4.3 通过文件句柄获得文件路径130

4.5 总结134

第5章 内存管理135

5.1 Windows内存管理原理135

5.1.1 基本概念135

5.1.2 分页与分段内存管理、内存映射与地址转换136

5.1.3 进程的内存空间138

5.1.4 虚拟内存布局、内存的分工、堆与栈140

5.1.5 内存的保护属性和存取权限140

5.1.6 本章API列表141

5.2 堆管理142

5.2.1 获取堆句柄、分配与再分配堆142

5.2.2 获取堆中内存块的大小信息147

5.2.3 释放内存、销毁堆148

5.3 全局(Global)和局部(Local)内存管理150

5.3.1 Global函数150

5.3.2 Local函数152

5.3.3 使用全局和局部函数分配和释放内存、改变内存块属性152

5.4 虚拟内存管理153

5.4.1 虚拟地址空间与内存分页153

5.4.2 分配和释放可读可写的虚拟内存页面154

5.4.3 修改内存页面状态和保护属性、将页面锁定在物理内存中158

5.4.4 管理其他进程的虚拟内存159

5.5 内存操作与内存信息管理159

5.5.1 复制、填充、移动、清零内存块、防止缓冲区溢出160

5.5.2 获得当前系统内存使用情况162

5.5.3 判断内存指针的可用性163

5.6 各种内存分配方式的关系与比较165

5.6.1 标准C内存管理函数与Windows内存管理API的关系165

5.6.2 功能性区别165

5.6.3 效率的区别166

第6章 进程、线程和模块167

6.1 基本概念167

6.1.1 应用程序与进程167

6.1.2 控制台应用程序与图形用户界面应用程序168

6.1.3 动态链接库、模块168

6.1.4 线程、纤程与作业169

6.1.5 权限与优先级170

6.2 进程管理170

6.2.1 创建进程、获取进程相关信息、获取启动参数170

6.2.2 编写控制台程序和图形用户界面应用程序176

6.2.3 获取和设置环境变量176

6.3 线程、纤程180

6.3.1 创建线程、退出线程、获取线程信息180

6.3.2 挂起、恢复、切换、终止线程183

6.3.3 创建远程线程、将代码注入其他进程中执行186

6.3.4 创建纤程、删除纤程、调度纤程190

6.3.5 纤程与线程的互相转换191

6.4 进程状态信息197

6.4.1 PS API与Tool help API197

6.4.2 遍历系统中的进程199

6.4.3 列举进程的模块、线程203

6.4.4 进程的堆使用、内存占用、虚拟内存大小,页面错误情况205

6.5 动态链接库207

6.5.1 加载、释放DLL、通过句柄获取DLL相关信息207

6.5.2 编写动态链接库、导出函数208

6.5.3 创建动态链接库工程,配置DLL编译链接选项210

6.5.4 运行时动态获取DLL导出函数地址并调用211

6.5.5 声明导出函数、创建lib库,为其他模块提供导入表调用接口213

6.5.6 通过构建导入表调用DLL导出函数213

第7章 线程同步215

7.1 基本原理215

7.1.1 线程同步的过程216

7.1.2 同步对象216

7.1.3 等待函数216

7.2 同步对象示例217

7.2.1 使用事件对象(Event)217

7.2.2 使用互斥对象(Mutex)223

7.2.3 使用信号量控制访问共享数据的线程数量227

7.2.4 使用可等待计时器(Timer)231

7.3 等待进程和线程的执行完成235

第8章 服务236

8.1 基本概念236

8.1.1 服务控制器(SCM)237

8.1.2 服务程序237

8.1.3 服务控制管理程序237

8.1.4 系统服务管理工具237

8.1.5 服务的属性237

8.2 编写服务程序238

8.2.1 入口函数238

8.2.2 服务主函数238

8.2.3 控制处理函数239

8.3 实现对服务的控制和管理243

8.3.1 创建、删除服务243

8.3.2 启动、停止服务,向服务发送控制请求246

8.3.3 管理服务状态、配置服务、服务的依赖关系250

第9章 图形用户界面257

9.1 字符界面程序257

9.1.1 基本概念258

9.1.2 控制台读写259

9.1.3 控制台字体、颜色等属性,操作屏幕缓存263

9.1.4 控制台事件274

9.2 图形用户界面:基本概念276

9.2.1 窗口276

9.2.2 窗口类277

9.2.3 消息和消息处理函数277

9.2.4 控件277

9.2.5 资源278

9.2.6 对话框278

9.3 图形用户界面:窗口278

9.3.1 注册窗口类280

9.3.2 创建窗口281

9.3.3 窗口消息处理函数284

9.3.4 窗口属性、位置和大小287

9.3.5 窗口显示方式289

9.3.6 线程消息队列和消息循环289

9.4 图形用户界面:控件290

9.4.1 Tree View控件290

9.4.2 为Tree View控件增加节点292

9.4.3 Tree View右键菜单294

9.4.4 List View控件296

9.4.5 为List View控件增加分列298

9.4.6 为List View控件增加项299

9.4.7 文本框控件300

9.4.8 为文本框控件设置文字301

9.5 界面资源302

9.5.1 资源脚本(.rc)302

9.5.2 资源ID定义和头文件305

9.5.3 在程序中使用资源306

9.6 菜单307

9.6.1 菜单资源和菜单句柄307

9.6.2 动态增加、删除、设置菜单及菜单项308

9.6.3 菜单消息处理308

9.7 对话框309

9.7.1 创建对话框309

9.7.2 对话框消息处理函数310

第10章 系统信息的管理312

10.1 Windows系统信息312

10.1.1 获取系统版本312

10.1.2 获取计算机硬件信息315

10.1.3 获取系统目录等信息317

10.1.4 用户名、计算机名、域名318

10.1.5 处理系统颜色信息、尺度信息等320

10.1.6 鼠标、键盘等外设信息320

10.2 时间信息322

10.2.1 设置、获取系统时间322

10.2.2 获取开机至现在持续的时间323

10.2.3 文件时间与系统时间的转换323

10.3 注册表324

10.3.1 注册表的作用及组织形式324

10.3.2 键、子键、键属性及键值的相关操作325

10.3.3 列举注册表项及键值328

10.3.4 通过注册表设置一个自启动的程序330

10.3.5 设置随程序启动而启动的调试器(任何程序)331

10.3.6 指定程序崩溃实时调试器331

第11章 进程间通信332

11.1 邮槽(MailSlot)332

11.1.1 创建邮槽、从邮槽中读取消息333

11.1.2 通过邮槽发送消息336

11.2 管道(Pipe)338

11.2.1 创建命名管道338

11.2.2 管道监听340

11.2.3 使用异步I/O进行读写341

11.2.4 关闭管道实例345

11.2.5 客户端346

11.3 剪贴板349

11.3.1 获取、设置剪贴板数据349

11.3.2 监视剪贴板356

11.3.3 剪贴板数据格式366

11.4 数据复制消息(WM_COPYDATA)368

11.4.1 数据发送端368

11.4.2 数据接收端371

11.5 其他进程间通信方式373

11.5.1 动态数据交换(DDE)和网络动态数据交换(NDDE)373

11.5.2 通过File Mapping在进程间共享数据374

11.5.3 Windows Socket374

第12章 Windows Shell程序设计375

12.1 Windows Shell目录管理376

12.1.1 Shell对目录和文件的管理形式376

12.1.2 “我的文档”等特殊目录相关操作376

12.1.3 接口绑定、目录遍历以及文件对象属性获取378

12.1.4 浏览文件对话框380

12.2 文件协助(File Associations)382

12.2.1 文件类型相关注册表键值382

12.2.2 为文件指定默认打开程序383

12.2.3 定制文件类型的图标384

12.3 Shell扩展384

12.3.1 对象及概念385

12.3.2 CLSID,处理例程的GUID386

12.3.3 注册Shell扩展387

12.3.4 COM程序开发基础388

12.3.5 编写Handler程序388

12.3.6 Shell扩展程序的调试406

12.3.7 总结406

12.4 任务栏通知区域(Tray)图标407

12.4.1 创建图标窗口408

12.4.2 创建图标和图标菜单412

12.4.3 最小化主窗口到通知区域414

12.4.4 弹出气泡通知417

12.4.5 动态图标418

12.4.6 其他功能421

第13章 Windows GDI424

13.1 GDI编程接口概述424

13.1.1 Windows GDI的功能424

13.1.2 链接库与头文件424

13.2 设备上下文(DC)、输出操作与图形对象425

13.2.1 设备上下文类型与关联设备425

13.2.2 图形对象的作用及与DC的关系425

13.2.3 各类图形对象的具体属性与作用428

13.2.4 绘制、填充、写入等图形输出操作429

13.2.5 修剪与坐标变换430

13.2.6 设备上下文的图形模式430

13.3 一个最简单的GDI程序431

13.3.1 示例431

13.3.2 DC的操作433

13.3.3 颜色的表示434

13.3.4 图形对象:画刷和画笔435

13.3.5 输出操作:绘制图形和线条436

13.4 文字和字体437

13.4.1 选择、设置字体439

13.4.2 选择字体图形对象441

13.4.3 文字的颜色441

13.4.4 输出文字441

13.4.5 DC图形模式设置442

13.4.6 遍历已安装字体443

13.4.7 为系统安装、删除字体文件446

13.5 绘制线条446

13.5.1 选择画笔对象446

13.5.2 直线446

13.5.3 绘制任意曲线446

13.5.4 跟踪鼠标轨迹447

13.5.5 弧线453

13.6 绘制图形454

13.6.1 填充颜色与边缘勾勒454

13.6.2 绘制矩形、椭圆、圆角矩形454

13.6.3 椭圆弓形和椭圆扇形460

13.6.4 多边形461

13.6.5 RECT结构及对RECT的操作462

13.7 位图操作463

13.7.1 截取屏幕、保存位图文件464

13.7.2 将位图显示在界面上469

13.8 区域(Regions)、路径(Paths) 修剪(Clip)操作473

13.8.1 区域的创建及形状、位置等属性473

13.8.2 区域边沿、区域填充、反转与勾勒操作474

13.8.3 组合、比较、移动等操作477

13.8.4 点击测试(Hit Testing)478

13.8.5 路径的创建与操作483

13.8.6 路径转换为区域484

13.8.7 使用区域和路径进行修剪操作,限制输出484

13.9 坐标变换491

13.9.1 缩放492

13.9.2 旋转492

13.10 调色板493

第14章 网络通信与配置496

14.1 Socket通信497

14.1.1 客户端497

14.1.2 服务端503

14.1.3 处理并发的客户端连接510

14.1.4 网络通信的异步I/O模式510

14.2 IP Helper511

第15章 程序安装与设置519

15.1 创建cab文件519

15.1.1 makecab.exe519

15.1.2 压缩多个文件520

15.1.3 Cabinet软件开发工具包(CABSDK)522

15.2 编写1NF文件522

15.2.1 INF文件格式522

15.2.2 Install节524

15.2.3 CopyFiles和AddReg等安装过程525

15.2.4 源路径和目的路径525

15.2.5 字符串表526

15.3 安装程序setup.exe的编号526

15.4 使用msi文件进行安装529

15.4.1 Windows Installer Service529

15.4.2 msi文件的创建与修改工具orca.exe531

15.4.3 准备工作533

15.4.4 编辑表组533

第16章 设备驱动管理与内核通信534

16.1 设备管理534

16.1.1 列举设备接口535

16.1.2 监控设备的加载和卸载542

16.2 I/O控制、内核通信548

16.2.1 加载驱动程序548

16.2.2 控制驱动程序、与驱动程序进行通信556

16.3 编写设备驱动程序559

16.3.1 驱动程序开发包:DDK559

16.3.2 开发驱动程序559

16.4 I/O模式,同步与异步565

第17章 用户、认证和对象安全567

17.1 基本概念567

17.1.1 访问令牌、权限和用户标识567

17.1.2 进程的系统操作权限568

17.1.3 安全对象569

17.1.4 访问控制列表(ACL)569

17.2 安全机制程序示例570

17.2.1 列举进程访问令牌内容和权限570

17.2.2 修改进程的权限576

17.2.3 列举安全对象的安全描述符577

17.2.4 修改安全描述符583

17.3 用户584

17.3.1 创建用户584

17.3.2 用户组586

17.3.3 删除用户587

17.3.4 列举用户和用户组、获取用户信息588

第18章 Windows API的内部原理595

18.1 关于API的补充说明595

18.1.1 Windows API的版本演进和Vista以后版本新增API595

18.1.2 64位操作系统的接口596

18.2 Windows系统中的对象封装597

18.2.1 什么是对象597

18.2.2 面向对象的思想597

18.2.3 Windows系统中的对象:内核对象、GDI对象等597

18.3 Windows程序设计参考:文档资源与样例代码597

18.3.1 SDK文档和MSDN597

18.3.2 SDK示例代码598

18.4 x86平台程序函数调用原理598

18.4.1 函数调用的真实过程598

18.4.2 函数调用约定604

18.4.3 为什么通过参数返回数据时只能使用指针604

18.4.4 缓冲区溢出604

18.4.5 程序运行错误的调试技巧605

18.5 可执行程序结构与API函数接口内部机理605

18.5.1 Windows可执行程序结构605

18.5.2 导入表、导出表、动态链接608

18.5.3 NTDLL.DLL、NATIVEAPI和SSDT609

18.5.4 API HOOK611

18.6 发布程序611

18.6.1 合理选择编译链接选项611

18.6.2 构建到指定路径611

18.7 模块化,向Windows API学习接口定义612

18.7.1 lib文件612

18.7.2 头文件612

18.7.3 为第三方应用软件提供SDK612

热门推荐