当前位置:首页 > 工业技术
Windows程序设计
Windows程序设计

Windows程序设计PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:王艳平编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2005
  • ISBN:7115132054
  • 页数:444 页
图书介绍:本书介绍了Win 32程序运行原理和最基本的Win32 API编程,然后通过模拟MFC中关键类、全局函数和宏定义的实现详细讲述了框架程序的设计方法和MFC的内部工作机制,并指出了这些机制是如何对用户程序造成影响的,最后完整讲述了开发内核驱动和Windows防火墙的过程。
《Windows程序设计》目录

1.1必须了解的东西 1

1.1.1 Windows产品概述 1

1.1.2 开发工具Visual C++ 1

第1章 Windows程序设计基础 1

1.1.3 Windows资料来源——MSDN 2

1.1.4 Win32 API简介 2

1.2用Visual C++的基本用法 2

1.2.1应用程序的类型 3

1.2.2第一个控制台应用程序 3

1.2.3 API函数的调用方法 4

1.3本书推荐的编程环境 5

1.4代码的风格 6

1.4.1变量的命名 6

1.4.2代码的对齐方式 7

1.4.3代码的注释 8

2.1.2虚拟内存 9

2.1.1 Windows的多任务实现 9

第2章 Win32程序运行原理 9

2.1 CPU的保护模式和Windows系统 9

2.1.3 内核模式和用户模式 10

2.2内核对象 11

2.2.1 内核对象的引出 11

2.2.2对象句柄 12

2.2.3使用计数 12

2.3进程的创建 12

2.3.1进程(Process)和线程(Thread) 12

2.3.2应用程序的启动过程 13

2.3.3 CreateProcess函数 14

2.3.4创建进程的例子 17

2.4进程控制 18

2.4.1获取系统进程 18

2.4.2终止当前进程 20

2.4.3终止其他进程 21

2.4.4保护进程 22

2.5 【实例】游戏内存修改器 23

2.5.1 实现原理 23

2.5.2编写测试程序 25

2.5.3 搜索内存 25

2.5.4写进程空间 28

2.5.5提炼接口 28

第3章 Win32程序的执行单元 30

3.1 多线程 30

3.1.1线程的创建 30

3.1.2线程内核对象 33

3.1.3线程的终止 36

3.1.4线程的优先级 37

3.1.5 C/C++运行期库 40

3.2.1临界区对象 41

3.2线程同步 41

3.2.2互锁函数 44

3.2.3事件内核对象 45

3.2.4线程局部存储(TLS) 47

3.3 设计自己的线程局部存储 50

3.3.1 CSimpleList类 51

3.3.2 CNoTrackObject类 57

3.3.3 CThreadSlotData类 58

3.3.4 CThreadLocal类模板 67

3.4设计线程类——CWinThread 71

3.5 【实例】多线程文件搜索器 80

3.5.1 搜索文件的基本知识 81

3.5.2编程思路 83

第4章 Windows图形界面 90

4.1 了解窗口 90

4.2.1创建Win32工程和MessageBox函数 91

4.2第一个窗口程序 91

4.2.2 Windows的消息驱动 93

4.2.3创建窗口 94

4.2.4分析主程序代码 96

4.2.5处理消息的代码 100

4.3一个“简陋”的打字程序 102

4.3.1使用资源 102

4.3.2菜单和图标 104

4.3.3接收键盘输入 105

4.3.4接收鼠标输入 108

4.3.5设置文本颜色和背景色 109

4.4 GDI基本图形 109

4.4.1设备环境(Device Context) 109

4.4.2 Windows的颜色和像素点 112

4.4.3绘制线条 113

4.4.4绘制区域 117

4.4.5坐标系统 118

4.5 【实例】小时钟 122

4.5.1 基础知识——定时器和系统时间 122

4.5.2时钟程序 125

4.5.3 移动窗口 129

4.5.4使用快捷菜单 130

第5章 框架管理基础 134

5.1运行时类信息(CRuntimeClass类) 134

5.1.1动态类型识别和动态创建 134

5.1.2 DECLARE DYNAMIC等宏的定义 139

5.2 调试支持 141

5.2.1基本调试方法 141

5.2.2调试输出 142

5.2.3跟踪和断言 143

5.3框架程序中的映射 144

5.3.1映射的概念 144

5.3.2内存分配方式 145

5.3.3设计管理方式 148

5.3.4句柄映射的实现 155

5.4框架程序的状态信息 156

5.4.1模块的概念 156

5.4.2模块、线程的状态 157

5.5框架程序的执行顺序 159

5.5.1线程的生命周期 159

5.5.2程序的初始化过程 162

5.5.3框架程序应用举例 165

第6章 框架中的窗口 166

6.1 CWnd类的引出 166

6.2窗口句柄映射 167

6.2.1向CWnd对象分发消息 167

6.2.2消息的传递方式 170

6.3创建窗口 172

6.3.1窗口函数 172

6.3.2注册窗口类 173

6.3.3消息钩子 175

6.3.4最终实现 180

6.3.5创建窗口的例子 182

6.4消息映射 184

6.4.1消息映射表 184

6.4.2DECLARE_MESSAGE_MAP等宏的定义 187

6.5消息处理 189

6.5.1使用消息映射宏 189

6.5.2消息的分发机制 192

6.5.3消息映射应用举例 195

6.6使用Microsoft基础类库 199

6.7【实例】窗口查看器 201

6.7.1窗口界面 201

6.7.2获取目标窗口的信息 206

6.7.3自制按钮 210

7.1.1子窗口控件运行原理 214

7.1对话框与子窗口控件基础 214

第7章 用户界面设计 214

7.1.2对话框工作原理 217

7.2使用对话框和控件与用户交互 219

7.2.1以对话框为主界面的应用程序 219

7.2.2常用子窗口控件 223

7.2.3对话框与控件的颜色 224

7.3通用控件 225

7.3.1通用控件简介 225

7.3.2使用通用控件 226

7.3.3使用状态栏 230

7.3.4使用列表视图 231

7.3.5使用进度条 233

7.4通用对话框 235

7.4.1“打开”文件和“保存”文件对话框 235

7.4.2浏览目录对话框 237

7.5.1在框架程序中使用对话框 239

7.5使用框架程序简化界面开发 239

7.5.2CDialog类 242

7.5.3框架程序中的控件 244

7.5.4使用向导 245

7.6【实例】目录监视器 246

7.6.1目录监视的基础知识 247

7.6.2实例程序 247

7.6.3使用SkinMagic美化界面 254

第8章 Windows文件操作和内存映射文件 256

8.1文件操作 256

8.1.1创建和读写文件 256

8.1.2获取文件信息 260

8.1.3常用文件操作 262

8.1.4检查PE文件有效性的例子 264

8.1.5MFC的支持(CFile类) 266

8.2.1驱动器操作 268

8.2驱动器和目录 268

8.2.2目录操作 271

8.3使用注册表 271

8.3.1注册表的结构 271

8.3.2管理注册表 272

8.3.3注册表API应用举例(设置开机自动启动) 274

8.3.4ATL库的支持(CRegKey类) 275

8.4内存映射文件 276

8.4.1内存映射文件相关函数 276

8.4.2使用内存映射文件读BMP文件的例子 278

8.4.3进程间共享内存 284

8.4.4封装共享内存类CShareMemory 286

8.5一个文件切割系统的实现 287

8.5.1通信机制 287

8.5.2分割合并机制 288

8.5.3接口函数 292

8.5.4最终实现 293

8.6【实例】文件切割器开发实例 298

第9章 动态链接库和钩子 306

9.1动态链接库 306

9.1.1动态链接库的概念 306

9.1.2创建动态链接库工程 306

9.1.3动态链接库中的函数 308

9.1.4使用导出函数 309

9.2 Windows钩子 312

9.2.1钩子的概念 312

9.2.2钩子的安装与卸载 312

9.2.3键盘钩子实例 314

9.3 挂钩API技术(HOOK API) 319

9.3.1 实现原理 319

9.3.2使用钩子注入DLL 319

9.3.3 HOOK过程 320

9.3.4 封装CAPIHook类 325

9.3.5 HOOK实例——进程保护器 332

9.4其他常用的侦测方法 336

9.4.1 使用注册表注入DLL 336

9.4.2使用远程线程注入DLL 337

9.4.3通过覆盖代码挂钩API 343

9.5 【实例】用户模式下侦测Win32 API的例子 346

第10章 TCP/IP和网络通信 351

10.1 网络基础知识 351

10.1.1 以太网(Ethernet) 351

10.1.2以太网接口堆栈 353

10.1.3服务器/客户机模型 353

10.2 Winsock接口 354

10.2.1 套节字(Socket)的概念和类型 354

10.2.2 Winsock的寻址方式和字节顺序 354

10.2.3 Winsock编程流程 356

10.2.4典型过程图 359

10.2.5服务器和客户方程序举例 360

10.2.6 UDP协议编程 363

10.3网络程序实际应用 364

10.3.1 设置I/O模式 364

10.3.2 TCP服务器实例 365

10.3.3 TCP客户端实例 374

10.4截拦网络数据 377

10.4.1 DLL工程框架 378

10.4.2数据交换机制 379

10.4.3数据的过滤 381

10.5 【实例】IP封包截获工具IPPack源代码分析 381

10.5.1 主窗口界面 382

10.5.2 注入DLL 385

10.5.3处理封包 389

第11章 内核模工程序设计与Windows防火墙开发 393

11.1 Windows操作系统的体系结构 393

11.1.1 Windows 2000/XP组件结构图 393

11.1.2环境子系统和子系统DLL 394

11.1.3系统核心(core) 395

11.1.4设备驱动程序 398

11.2服务 398

11.2.1 服务控制管理器(Service Control Manager) 398

11.2.2服务控制程序(Service Control Program) 399

11.2.3封装CDriver类 402

11.3开发内核驱动的准备工作 406

11.3.1驱动程序开发工具箱(Driver Development Kit,DDK) 407

11.3.2编译和连接内核模式驱动的方法 407

11.3.3创建第一个驱动程序 408

11.4 内核模式程序设计基础知识 408

11.4.1 UNICODE 字符串 408

11.4.2设备对象 409

11.4.3驱动程序的基本组成 410

11.4.4 I/O请求包(I/O request packet,IRP)和I/O堆栈 410

11.4.5完整驱动程序 413

11.5 内核模式与用户模式交互 416

11.5.1扩展派遣接口 416

11.5.2 IOCTL应用举例 417

11.6 IP过滤钩子驱动 421

11.6.1 创建过滤钩子(Filter-hook)驱动 421

11.6.2 IP过滤钩子驱动工程框架 424

11.6.3过滤列表 427

11.6.4编写过滤函数 428

11.6.5注册钩子回调函数 430

11.6.6 处理IOCTL设备控制代码 432

11.7 【实例】防火墙开发实例 433

11.7.1 文档视图 433

11.7.2文档对象 436

11.7.3视图对象 438

1.7.4主窗口对象 440

附录 MFC结构体系图 444

相关图书
作者其它书籍
返回顶部