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