图书介绍
Windows系统编程【2025|PDF下载-Epub版本|mobi电子书|kindle百度云盘下载】

- 周金萍等编著 著
- 出版社: 北京:人民邮电出版社
- ISBN:7115103224
- 出版时间:2002
- 标注页数:690页
- 文件大小:300MB
- 文件页数:702页
- 主题词:窗口软件 程序设计
PDF下载
下载说明
Windows系统编程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 Windows编程开发环境1
1.1 Windows操作系统及其内核1
1.1.1 已有的Windows平台1
1.1.2 新一代Windows平台——Windows XP2
1.1.3 未来的Windows平台——64位Windows3
1.2 集成性开发环境Developer Studio5
1.2.1 Microsoft Visual C++和DeveloperStudio5
1.2.2 新一代集成性开发环境Visual Studio.net10
1.3 使用编程帮助11
1.3.1 为什么需要帮助11
1.3.2 如何使用帮助11
1.4 自定义Developer Studio13
1.4.1 自定义工具条和菜单栏13
1.4.2 自定义快捷键14
2.1.1 消息驱动机制15
2.1 Windows程序设计的特点15
第2章 Win32程序设计15
2.1.2 图形输出及设备无关性19
2.1.3 标准的用户界面对象20
2.1.4 Windows资源的共享24
2.2 Windows应用程序组成25
2.3 用SDK进行Win32程序设计27
2.3.1 Win32 API和SDK27
2.3.2 Win32程序设计的特点28
2.3.3 实例——禁止进程的多个实例存在38
2.4 初识进程、线程和内存分配42
2.4.1 进程与线程的问题42
2.4.2 32位应用程序的内存分配43
2.4.3 32位应用程序的内存管理模式45
2.5 本章实例——消息监视专家Spy51
3.1 控件75
第3章 Windows用户界面75
3.1.1 按钮77
3.1.2 组合框78
3.1.3 编辑控件81
3.1.4 列表框85
3.1.5 滚动条88
3.1.6 静态控件94
3.2 资源96
3.2.1 光标99
3.2.2 图标103
3.2.3 菜单104
3.2.4 字符串104
3.3 用户输入105
3.3.1 通用对话框105
3.3.3 键盘输入107
3.3.2 鼠标输入107
3.4 窗口111
3.5 实例1——迷你视频终端VideoTerminal115
3.6 实例2——自定义资源的程序WinMainSample130
第4章 Windows程序员基础137
4.1 Windows对错误的处理137
4.1.1 错误代码表137
4.1.2 获取错误信息——GetLastError()140
4.1.3 错误代码转换工具140
4.1.4 自定义错误代码142
4.2 Unicode编程与软件本地化143
4.2.1 为什么要选择Unicode143
4.2.2 如何编写Unicode源代码146
4.2.3 使自己的应用程序符合Unicode规范151
4.2.4 如何区分ANSI文本和Unicode文本153
4.2.5 在多字节字符与宽字节字符之间转换154
4.3 内核对象的概念157
4.3.1 什么是内核对象157
4.3.2 管理和操作内核对象160
4.3.3 进程间共享内核对象163
4.4 本章实例——Unicode转换大师UConvert171
第5章 进程186
5.1 进程的实例句柄186
5.2 进程的命令行和环境变量187
5.2.1 进程的命令行187
5.2.2 进程的环境变量188
5.3 进程的当前驱动器和当前目录193
5.4 进程的亲缘性195
5.5 进程的错误模式196
5.6 创建进程与终止进程196
5.6.1 创建进程函数CreateProcess()196
5.6.2 终止进程205
5.7 子进程207
5.8 本章实例1——进程查看器ProcessView208
5.9 本章实例2——事件调试浏览器Debug Event Browser222
第6章 进程的作业235
6.1 对作业进程的限制235
6.2 将进程放入作业和终止作业237
6.2.1 将进程放入作业237
6.2.2 终止作业中的进程238
6.3 查询作业信息238
6.4 作业通知信息241
第7章 线程基础243
7.1 由进程到线程243
7.2 线程的使用条件244
7.2.1 何时能够使用线程244
7.3.1 线程函数的编写245
7.2.2 何时不能使用线程245
7.3 线程的创建与终止245
7.3.2 线程的创建246
7.3.3 线程的终止249
7.3.4 深入了解线程本质251
7.4 C/C++运行时库与线程254
7.4.1 C/C++运行时库的问题254
7.4.2 C/C++运行时库函数与局部数据块tiddata255
7.4.3 为什么不调用CreateThread()创建线程259
7.4.4 不应该调用的C/C++运行时库函数259
7.5 线程在系统中的ID260
7.5.1 通过ID操作线程260
7.5.2 将伪句柄转换为实句柄261
7.6.1 工作线程263
7.6.2 用户界面线程263
7.6 线程分类263
7.7 本章实例——文件比较工具WinDiff264
第8章 线程的调度、优先级和亲缘性288
8.1 线程的调度288
8.1.1 系统对线程的调度过程288
8.1.2 暂停和恢复线程的运行290
8.1.3 睡眠方式291
8.1.4 转换到另一个线程291
8.1.5 线程的运行时间292
8.1.6 CONTEXT结构293
8.2 优先级300
8.2.1 线程的优先级300
8.2.2 优先级的抽象理解301
8.2.3 使用优先级编程304
8.3.1 软亲缘性和硬亲缘性309
8.3 亲缘性309
8.3.2 进程的亲缘性屏蔽310
8.3.3 进程中线程的亲缘性屏蔽311
8.4 本章实例——一个多线程程序MThread312
第9章 线程的同步322
9.1 用户模式中的线程同步322
9.1.1 原子访问与互锁函数322
9.1.2 高级线程同步326
9.1.3 高速缓存行328
9.1.4 临界代码区329
9.2 线程与内核对象的同步338
9.2.1 已通知状态与未通知状态338
9.2.2 等待函数339
9.2.3 事件(Event)342
9.2.4 等待定时器(Waitable Timer)346
9.2.5 信号量(Semaphore)349
9.2.6 互斥对象(Mutex)352
9.2.7 线程同步对象速查表355
9.2.8 其他线程同步函数356
9.3 线程池358
9.4 本章实例——声音的获取与回放(AudioLoop)368
第10章 线程的堆栈与纤程382
10.1 线程的堆栈382
10.1.1 Windows 2000下的线程堆栈382
10.1.2 Windows 98下的线程堆栈384
10.2 纤程386
10.2.1 纤程的意义386
10.2.2 纤程的使用386
10.3 本章实例——基于纤程的文件拷贝器Fibers388
11.1 系统信息400
11.1.1 硬件配置400
第11章 系统信息与注册表400
11.1.2 操作系统版本403
11.1.3 计算机名406
11.1.4 操作系统配置406
11.1.5 系统参数409
11.1.6 系统尺寸410
11.2 注册表411
11.2.1 注册表结构412
11.2.2 注册表存储空间413
11.2.3 预定义的关键字413
11.2.4 数据分类414
11.2.5 关键字的打开、创建与关闭415
11.2.6 注册表数据的添加和删除416
11.2.7 注册表关键字的安全属性与访问权限417
11.2.8 从注册表中检索数据418
11.2.9 注册表文件420
11.2.10 注册表的使用421
11.3 本章实例——注册表读取专家Registry424
第12章 虚拟内存440
12.1 进程的虚拟地址空间440
12.1.1 虚拟地址空间的分区441
12.1.2 地址空间中区域的管理442
12.1.3 地址空间区域中物理内存的占用445
12.1.4 实例——创建保护页面449
12.1.5 CPU的数据对齐特性451
12.2 虚拟内存的状态452
12.2.1 内存的使用状态452
12.2.2 虚拟地址空间的状态454
12.3 地址窗口扩展456
12.4 本章实例——虚拟内存的管理员Walker464
13.1 关于文件映射492
第13章 文件映射492
13.1.2 文件映射的优势493
13.1.1 文件视图的数据一致性493
13.2 使用文件映射494
13.2.1 创建或打开文件内核对象494
13.2.2 创建文件映射内核对象495
13.2.3 创建文件视图497
13.2.4 撤销文件视图499
13.2.5 关闭文件映射对象和文件对象500
13.2.6 两个文件映射的例子501
13.3 几个不同类型文件的内存映射505
13.3.1 EXE文件和DLL文件的映射505
13.3.2 数据文件的映射508
13.4 共享文件和内存510
13.5 本章实例——实现命名共享内存的程序Memory513
14.1.1 堆栈的概念525
14.1.2 进程的默认堆栈525
第14章 内存堆栈525
14.1 关于内存堆栈525
14.2 创建与使用内存堆栈526
14.2.1 为什么要创建内存堆栈526
14.2.2 如何使用内存堆栈529
14.2.3 C++程序中如何使用堆栈534
14.3 其他堆栈函数的使用537
14.4 本章实例——多线程的堆栈管理器MpHeap541
第15章 动态链接库564
15.1 为什么要使用DLL564
15.2 DLL在进程的地址空间565
15.3 DLL的隐式链接565
15.3.1 DLL模块的创建567
15.3.2 EXE模块的创建569
15.3.3 EXE模块的运行570
15.4 DLL的显式链接571
15.4.1 显式加载DLL模块572
15.4.2 显式卸载DLL模块573
15.4.3 DLL的使用计数574
15.4.4 获得输出符号地址575
15.5 DLL的进入点函数575
15.5.1 DllMain()函数575
15.5.2 C/C++运行时库的情况579
15.6 DLL的高级使用580
15.6.1 延迟加载DLL580
15.6.2 操作系统的DLL586
15.6.3 DLL的转移587
15.6.4 模块的移位588
15.6.5 模块的绑定593
15.6.6 线程本地存储器595
15.7 本章实例1——一个简单的动态链接库程序dll600
15.8 本章实例2——标准DLL的创建实例SpinCube612
第16章 结构化异常处理632
16.1 关于结构化异常处理632
16.1.1 异常处理633
16.1.2 基于帧的异常处理639
16.1.3 结束处理640
16.1.4 处理器的文法结构641
16.2 结构化异常处理的使用644
16.2.1 使用异常处理器645
16.2.2 使用结束处理器649
16.3 结构化异常与C++异常的对比650
16.4 本章实例——模式匹配查找工具Asyncio654
热门推荐
- 3327583.html
- 27865.html
- 2738234.html
- 270659.html
- 328676.html
- 1039511.html
- 2260537.html
- 3886877.html
- 1652762.html
- 675011.html
- http://www.ickdjs.cc/book_2394195.html
- http://www.ickdjs.cc/book_257276.html
- http://www.ickdjs.cc/book_2784719.html
- http://www.ickdjs.cc/book_2604751.html
- http://www.ickdjs.cc/book_3795528.html
- http://www.ickdjs.cc/book_1555026.html
- http://www.ickdjs.cc/book_1213346.html
- http://www.ickdjs.cc/book_2004853.html
- http://www.ickdjs.cc/book_2952641.html
- http://www.ickdjs.cc/book_2927735.html