Windows 程序設(shè)計(jì)(第3版)
定 價(jià):69 元
- 作者:張錚 孫寶山 周天立
- 出版時(shí)間:2015/4/1
- ISBN:9787115381620
- 出 版 社:人民郵電出版社
- 中圖法分類:TP316.7
- 頁碼:475
- 紙張:膠版紙
- 版次:1
- 開本:16K
API編程是最基本的編程方式,任何用戶應(yīng)用程序都必須運(yùn)行在API函數(shù)之上。學(xué)習(xí)Windows程序設(shè)計(jì)最好先從學(xué)習(xí)API函數(shù)開始。同時(shí)MFC類庫是最流行的編程工具之一,大部分商業(yè)軟件使用了MFC框架程序。精通MFC是很多開發(fā)人員的目標(biāo)。
《Windows 程序設(shè)計(jì)(第3版)》試圖為Windows程序設(shè)計(jì)初學(xué)者提供一條由入門到深入、由簡(jiǎn)單到復(fù)雜的編程設(shè)計(jì)之路,最終使他們有能力獨(dú)立開發(fā)出像Windows防火墻一樣復(fù)雜的應(yīng)用程序。為此,《Windows 程序設(shè)計(jì)(第3版)》首先介紹了Win32程序運(yùn)行原理和最基本的Win32API編程;然后通過模擬MFC中關(guān)鍵類、全局函數(shù)和宏定義的實(shí)現(xiàn)詳細(xì)講述了框架程序的設(shè)計(jì)方法和MFC的內(nèi)部工作機(jī)制,并指出了這些機(jī)制是如何對(duì)用戶程序造成影響的;繼而完整講述了開發(fā)內(nèi)核驅(qū)動(dòng)和Windows防火墻的過程;最后對(duì)計(jì)算機(jī)3D圖形和音頻控制技術(shù)進(jìn)行了介紹。此外,書中各章均配以豐富的實(shí)例,它們從最簡(jiǎn)單的“HelloWorld!”開始,到多線程、用戶界面、注冊(cè)表和網(wǎng)絡(luò)通信、3D圖形繪制等復(fù)雜的程序,內(nèi)容涉及Windows編程設(shè)計(jì)的方方面面。
《Windows 程序設(shè)計(jì)(第3版)》語言嚴(yán)謹(jǐn)流暢,針對(duì)初學(xué)者的特點(diǎn),精心策劃、由淺到深,是Windows編程入門到深入的理想?yún)⒖紩。凡是具備C++初步知識(shí)的讀者都能讀懂本書!禬indows 程序設(shè)計(jì)(第3版)》可作為研究Windows程序設(shè)計(jì)的正式教程,也是一本供自學(xué)的從入門到深入的難得教材。
第1章 Windows程序設(shè)計(jì)基礎(chǔ)
1.1 必須了解的東西
1.1.1 Windows產(chǎn)品概述
1.1.2 開發(fā)工具Visual C++
1.1.3 Windows資料來源——MSDN
1.1.4 Win32 API簡(jiǎn)介
1.2 VC++的基本使用
1.2.1 應(yīng)用程序的類型
1.2.2 第一個(gè)控制臺(tái)應(yīng)用程序
1.2.3 API函數(shù)的調(diào)用方法
1.3 本書推薦的編程環(huán)境
1.4 代碼的風(fēng)格
1.4.1 變量的命名
1.4.2 代碼的對(duì)齊方式
1.4.3 代碼的注釋
第2章 Win32程序運(yùn)行原理
2.1 CPU的保護(hù)模式和Windows系統(tǒng)
2.1.1 Windows的多任務(wù)實(shí)現(xiàn)
2.1.2 虛擬內(nèi)存機(jī)制
2.1.3 內(nèi)核模式和用戶模式
2.2 內(nèi)核對(duì)象
2.2.1 什么是內(nèi)核對(duì)象
2.2.2 對(duì)象和句柄
2.2.3 使用計(jì)數(shù)
2.3 進(jìn)程的創(chuàng)建
2.3.1 進(jìn)程(Process)和線程(Thread)
2.3.2 應(yīng)用程序的啟動(dòng)過程
2.3.3 CreateProcess函數(shù)
2.3.4 創(chuàng)建進(jìn)程的例子
2.4 進(jìn)程控制
2.4.1 獲取系統(tǒng)進(jìn)程
2.4.2 終止當(dāng)前進(jìn)程
2.4.3 終止其他進(jìn)程
2.4.4 保護(hù)進(jìn)程
2.5 【實(shí)例】游戲內(nèi)存修改器
2.5.1 實(shí)現(xiàn)原理
2.5.2 編寫測(cè)試程序
2.5.3 搜索內(nèi)存
2.5.4 寫進(jìn)程空間
2.5.5 提煉接口
第3章 Win32程序的執(zhí)行單元
3.1 多線程
3.1.1 線程的創(chuàng)建
3.1.2 線程內(nèi)核對(duì)象
3.1.3 線程的終止
3.1.4 線程的優(yōu)先級(jí)
3.1.5 C/C++運(yùn)行期庫的考慮
3.2 線程同步
3.2.1 臨界區(qū)對(duì)象
3.2.2 互鎖函數(shù)
3.2.3 事件內(nèi)核對(duì)象
3.2.4 線程局部存儲(chǔ)(TLS)
3.3 設(shè)計(jì)自己的線程局部存儲(chǔ)
3.3.1 CSimpleList類
3.3.2 CNoTrackObject類
3.3.3 CThreadSlotData類
3.3.4 CThreadLocal類模板
3.4 設(shè)計(jì)線程類-CWinThread
3.5 【實(shí)例】多線程文件搜索器
3.5.1 搜索文件的基本知識(shí)
3.5.2 編程思路
第4章 Windows圖形界面
4.1 開始了解窗口
4.2 第一個(gè)窗口程序
4.2.1 創(chuàng)建Win32工程
4.2.2 Windows的消息驅(qū)動(dòng)
4.2.3 創(chuàng)建窗口
4.2.4 分析主程序代碼
4.2.5 處理消息的代碼
4.3 一個(gè)簡(jiǎn)陋的打字程序
4.3.1 使用資源
4.3.2 菜單和圖標(biāo)
4.3.3 接受鍵盤輸入
4.3.4 接收鼠標(biāo)輸入
4.3.5 設(shè)置文本顏色和背景色
4.4 GDI基本圖形
4.4.1 設(shè)備環(huán)境(Device Context)
4.4.2 Windows的顏色和象素點(diǎn)
4.4.3 繪制線條
4.4.4 繪制區(qū)域
4.4.5 坐標(biāo)系統(tǒng)
4.5 【實(shí)例】小時(shí)鐘
4.5.1 基礎(chǔ)知識(shí)——定時(shí)器和系統(tǒng)時(shí)間
4.5.2 時(shí)鐘程序
4.5.3 移動(dòng)窗口
4.5.4 使用快捷菜單
第5章 框架管理基礎(chǔ)
5.1 運(yùn)行時(shí)類信息
5.1.1 動(dòng)態(tài)類型識(shí)別和動(dòng)態(tài)創(chuàng)建
5.1.2 DECLARE_DYNAMIC等宏的定義
5.2 調(diào)試支持
5.2.1 基本調(diào)試方法
5.2.2 調(diào)試輸出
5.2.3 跟蹤和斷言
5.3 框架程序中的映射
5.3.1 映射的概念
5.3.2 內(nèi)存分配方式
5.3.3 設(shè)計(jì)管理方式
5.3.4 句柄映射的實(shí)現(xiàn)
5.4 框架程序的狀態(tài)信息
5.4.1 模塊的概念
5.4.2 模塊、線程的狀態(tài)
5.5 框架程序的執(zhí)行順序
5.5.1 線程的生命周期
5.5.2 程序的初始化過程
5.5.3 框架程序應(yīng)用舉例
第6章 框架中的窗口
6.1 CWnd類的引出
6.2 窗口句柄映射
6.2.1 向CWnd對(duì)象分發(fā)消息
6.2.2 消息的傳遞方式
6.3 創(chuàng)建窗口
6.3.1 窗口函數(shù)
6.3.2 注冊(cè)窗口類
6.3.3 消息鉤子
6.3.4 最終實(shí)現(xiàn)
6.3.5 創(chuàng)建窗口的例子
6.4 消息映射
6.4.1 消息映射表
6.4.2 DECLARE_MESSAGE_MAP等宏的定義
6.5 消息處理
6.5.1 使用消息映射宏
6.5.2 消息的分發(fā)機(jī)制
6.5.3 消息映射應(yīng)用舉例
6.6 使用Microsoft基礎(chǔ)類庫
6.7 【實(shí)例】窗口查看器
第7章 用戶界面設(shè)計(jì)
7.1 對(duì)話框與子窗口控件基礎(chǔ)
7.1.1 子窗口控件工作原理
7.1.2 對(duì)話框工作原理
7.2 使用對(duì)話框和控件與用戶交互
7.2.1 以對(duì)話框?yàn)橹鹘缑娴膽?yīng)用程序
7.2.2 常用子窗口控件
7.2.3 對(duì)話框與控件的顏色
7.3 通用控件
7.3.1 通用控件簡(jiǎn)介
7.3.2 使用通用控件
7.3.3 使用狀態(tài)欄
7.3.4 使用列表視圖
7.3.5 使用進(jìn)度條
7.4 通用對(duì)話框
7.4.1 “打開”文件和“保存”文件對(duì)話框
7.4.2 瀏覽目錄對(duì)話框
7.5 使用框架程序簡(jiǎn)化界面開發(fā)
7.5.1 在框架程序中使用對(duì)話框
7.5.2 CDialog類
7.5.3 框架程序中的控件
7.5.4 使用向?qū)?/span>
7.6 【實(shí)例】目錄監(jiān)視器
7.6.1 目錄監(jiān)視的基礎(chǔ)知識(shí)
7.6.2 實(shí)例程序
7.6.3 使用SkinMagic美化界面
第8章 Windows文件操作和內(nèi)存映射文件
8.1 文件操作
8.1.1 創(chuàng)建和讀寫文件
8.1.2 獲取文件信息
8.1.3 常用文件操作
8.1.4 檢查PE文件有效性的例子
8.1.5 MFC的支持(CFile類)
8.2 驅(qū)動(dòng)器和目錄
8.2.1 驅(qū)動(dòng)器操作
8.2.2 目錄操作
8.3 使用注冊(cè)表
8.3.1 注冊(cè)表的結(jié)構(gòu)
8.3.2 管理注冊(cè)表
8.3.3 注冊(cè)表API應(yīng)用舉例(設(shè)置開機(jī)自動(dòng)啟動(dòng))
8.3.4 ATL庫的支持(CRegKey類)
8.4 內(nèi)存映射文件
8.4.1 內(nèi)存映射文件相關(guān)函數(shù)
8.4.2 使用內(nèi)存映射文件讀BMP文件的例子
8.4.3 進(jìn)程間共享內(nèi)存
8.4.4 封裝共享內(nèi)存類CShareMemory
8.5 一個(gè)文件切割系統(tǒng)的實(shí)現(xiàn)
8.5.1 通信機(jī)制
8.5.2 分割合并機(jī)制
8.5.3 接口函數(shù)
8.5.4 最終實(shí)現(xiàn)
8.6 【實(shí)例】文件切割器開發(fā)實(shí)例
第9章 動(dòng)態(tài)鏈接庫和鉤子
9.1 動(dòng)態(tài)鏈接庫
9.1.1 動(dòng)態(tài)鏈接庫的概念
9.1.2 創(chuàng)建動(dòng)態(tài)鏈接庫工程
9.1.3 動(dòng)態(tài)鏈接庫中的函數(shù)
9.1.4 使用導(dǎo)出函數(shù)
9.1.5 DLL間共享數(shù)據(jù)
9.2 鉤子函數(shù)
9.2.1 基本概念
9.2.2 鉤子的安裝與釋放
9.2.3 鍵盤鉤子的例子
9.3 掛鉤API技術(shù)
9.3.1 實(shí)現(xiàn)原理
9.3.2 使用鉤子注入DLL
9.3.3 HOOK過程
9.3.4 封裝CAPIHook類
9.3.5 HOOK實(shí)例——進(jìn)程保護(hù)器
9.4 其他常用的偵測(cè)方法
9.4.1 使用注冊(cè)表注入DLL
9.4.2 使用遠(yuǎn)程線程注入DLL
9.4.3 在內(nèi)核模式下偵測(cè)進(jìn)程的創(chuàng)建
9.4.4 通過覆蓋代碼掛鉤API
9.5 【實(shí)例】用戶模式下偵測(cè)Win32 API的例子
第10章 TCP/IP和網(wǎng)絡(luò)通信
10.1 網(wǎng)絡(luò)基礎(chǔ)知識(shí)
10.1.1 以太網(wǎng)(Ethernet)
10.1.2 以太網(wǎng)接口堆棧
10.1.3 服務(wù)器/客戶機(jī)模型
10.2 WinSock接口
10.2.1 套節(jié)字(Socket)的概念和類型
10.2.2 Winsock的尋址方式和字節(jié)順序
10.2.3 Winsock編程流程
10.2.4 典型過程圖
10.2.5 服務(wù)器和客戶方程序舉例
10.2.6 UDP協(xié)議編程
10.3 網(wǎng)絡(luò)程序?qū)嶋H應(yīng)用
10.3.1 設(shè)置I/O模式
10.3.2 TCP服務(wù)器實(shí)例
10.3.3 TCP客戶端實(shí)例
10.4 截?cái)r網(wǎng)絡(luò)數(shù)據(jù)的實(shí)現(xiàn)
10.4.1 DLL工程框架
10.4.2 數(shù)據(jù)交換機(jī)制
10.4.3 數(shù)據(jù)的過濾
10.5 【實(shí)例】IP封包截獲工具IPPack源代碼分析
10.5.1 主窗口界面
10.5.2 注入DLL
10.5.3 處理封包
第11章 內(nèi)核模式程序設(shè)計(jì)與Windows防火墻開發(fā)
11.1 Windows操作系統(tǒng)的體系結(jié)構(gòu)
11.1.1 Windows 2000/XP組件結(jié)構(gòu)圖
11.1.2 環(huán)境子系統(tǒng)和子系統(tǒng)DLL
11.1.3 系統(tǒng)核心(core)
11.1.4 設(shè)備驅(qū)動(dòng)程序
11.2 服務(wù)
11.2.1 服務(wù)控制管理器(Service Control Manager)
11.2.2 服務(wù)控制管理器(Service Control Manager)
11.2.3 封裝CDriver類
11.3 開發(fā)內(nèi)核驅(qū)動(dòng)的準(zhǔn)備工作
11.3.1 驅(qū)動(dòng)程序開發(fā)工具箱(Driver Development Kit,DDK)
11.3.2 編譯和連接內(nèi)核模式驅(qū)動(dòng)的方法
11.3.3 創(chuàng)建第一個(gè)驅(qū)動(dòng)程序
11.4 內(nèi)核模式程序設(shè)計(jì)基礎(chǔ)知識(shí)
11.4.1 UNICODE字符串
11.4.2 設(shè)備對(duì)象
11.4.3 驅(qū)動(dòng)程序