《開發巨匠——Visual C 6.0高級編程技術精粹》是2008年11月科學出版社出版的圖書,作者是王維玉。
基本介紹
- 書名:開發巨匠——Visual C 6.0高級編程技術精粹
- 作者:王維玉
- ISBN:9787030229359
- 頁數:608
- 定價:78.00元
- 出版社:科學出版社
- 出版時間:2008年11月
- 裝幀:平裝
- 開本:16開
- 語種:中文
- 字數:942千字
內容簡介,圖書目錄,
內容簡介
本書從應用程式開發的三個發展階段出發,用大量實例系統地介紹了Visual C++6.0的編程基礎、高級編程方法和技巧。書中主要內容包括Visual C++編程基礎、集成開發環境、對話框和各種常見控制項、訊息機制、文檔和視圖、圖形圖像、檔案處理、註冊表操作、ActiveX編程、多媒體、多執行緒、資料庫編程、動態程式庫、COM編程、網路編程、鉤子技術和托盤技術等。
書中在講解各開發技術要點時,輔以大量源自工程實踐的案例,同時,作者將從業8年以來的開發經驗與技巧,以及大公司的先進開發理念融入到對技術的講解與案例的分析中,以提高讀者的開發效率。
本書可用於自學或培訓教材,適合有一定VC編程基礎的讀者。書中大量從實際項目開發中提取的具有工程實用價值的代碼,對編程人員具有很好的參考意義。
本書可用於自學或培訓教材,適合有一定VC編程基礎的讀者。書中大量從實際項目開發中提取的具有工程實用價值的代碼,對編程人員具有很好的參考意義。
圖書目錄
第1部分 基礎篇
第1章 Visual C++編程基礎 3
1.1 Windows編程基礎 3
1.1.1 Windows基礎 3
1.1.2 Windows API 6
1.2 C++語言基礎 7
1.2.1 基本數據類型 8
1.2.2 表達式 11
1.2.3 控制語句 12
1.2.4 數組 15
1.2.5 指針 15
1.2.6 函式 16
1.2.7 類 19
1.3 MFC基礎 26
1.3.1 MFC類庫簡介 26
1.3.2 MFC應用程式框架 27
1.3.3 MFC訊息映射 28
1.3.4 程式實例:繪製直線 29
第2章 Visual C++ 6.0集成開發環境 37
2.1 選單 37
2.1.1 File選單 37
2.1.2 Edit選單 38
2.1.3 View選單 39
2.1.4 Insert選單 40
2.1.5 Project選單 41
2.1.6 Build選單 41
2.1.7 Tools選單 42
2.1.8 Window選單 43
2.1.9 Help選單 44
2.2 工具列 45
2.2.1 工具列的顯示與隱藏 45
2.2.2 工具列的定製與修改 46
2.3 項目面板 46
2.4 代碼編輯器 47
2.5 調試視窗 48
第3章 基本控制項 49
3.1 靜態控制項 49
3.1.1 靜態控制項概述 49
3.1.2 程式實例:用Static Text控制項顯示滾動文字 49
3.2 文本框 76
3.2.1 文本框概述 76
3.2.2 程式實例:輸入格式化字元串的文本框 77
3.3 按鈕 82
3.3.1 按鈕概述 82
3.3.2 程式實例:Windows XP風格的按鈕 83
3.4 列表框 97
3.4.1 列表框概述 98
3.4.2 程式實例:選項的左右移動 98
3.5 組合框 106
3.5.1 組合框概述 106
3.5.2 程式實例:三種風格的組合框 106
3.6 進度條 110
3.6.1 進度條概述 110
3.6.2 程式實例:顯示文字的進度條 110
第4章 對話框 115
4.1 對話框的基礎知識 115
4.2 模態對話框 115
4.2.1 模態對話框概述 115
4.2.2 程式實例:創建和顯示模態對話框 116
4.3 非模態對話框 119
4.3.1 非模態對話框概述 119
4.3.2 程式實例:創建和顯示非模態對話框 119
4.4 通用對話框 126
4.4.1 通用對話框概述 126
4.4.2 程式實例:顯示9種通用對話框 126
第2部分 提高篇
第5章 文檔和視圖 133
5.1 文檔和視圖的基礎知識 133
5.1.1 文檔和視圖的概念 133
5.1.2 文檔和視圖的關係 133
5.1.3 兩類文檔視圖程式(SDI和MDI) 134
5.1.4 與文檔視圖程式相關的五個重要的類 134
5.1.5 有關文檔類和視圖類的五個重要的成員函式 137
5.1.6 與文檔視圖程式相關的三種基本組件 138
5.2 單文檔 138
5.2.1 單文檔概述 138
5.2.2 程式實例:讓應用程式一啟動就打開最近使用的檔案 138
5.3 多文檔 141
5.3.1 多文檔概述 141
5.3.2 程式實例:實現在多個文檔中點陣圖的複製和貼上操作 142
5.4 選單 162
5.4.1 選單概述 162
5.4.2 創建選單 163
5.4.3 在應用程式中控制選單 163
5.4.4 選單訊息處理 163
5.4.5 程式實例:實現彈出式選單 163
5.5 工具列 167
5.5.1 工具列概述 167
5.5.2 創建工具列 167
5.5.3 常見工具列函式 168
5.5.4 程式實例:在工具列中圖示下面顯示文本 171
5.6 狀態欄 173
5.6.1 狀態欄概述 173
5.6.2 創建狀態欄 173
5.6.3 常見狀態欄函式 174
5.6.4 程式實例:在狀態欄中顯示滾動的文本 175
第6章 訊息機制 181
6.1 滑鼠訊息 181
6.1.1 滑鼠訊息分類 181
6.1.2 滑鼠訊息處理函式 181
6.1.3 程式實例:顯示用戶操作滑鼠事件 182
6.2 鍵盤訊息 188
6.2.1 鍵盤訊息分類 188
6.2.2 鍵盤訊息處理函式 188
6.2.3 虛擬鍵碼 189
6.2.4 程式實例:顯示用戶操作鍵盤事件 190
6.3 定時器訊息 198
6.3.1 定時器概述 198
6.3.2 與定時器相關的三個函式 199
6.3.3 程式實例:倒計時 199
6.4 自定義訊息 203
6.4.1 訊息的組成 203
6.4.2 訊息號的範圍及其含義 203
6.4.3 訊息的傳送 204
6.4.4 自定義訊息處理的過程 204
6.4.5 程式實例:顯示滑鼠游標的坐標位置 205
第7章 圖形圖像 211
7.1 圖形和圖像的基礎知識 211
7.1.1 圖形和圖像的概念 211
7.1.2 圖形圖像檔案 212
7.1.3 顏色 213
7.1.4 解析度 213
7.2 圖形設備接口和設備上下文 215
7.2.1 圖形設備接口 215
7.2.2 設備上下文 216
7.3 繪圖操作類和視窗重畫函式 216
7.3.1 三個重要的繪圖操作類 216
7.3.2 三個支持視窗重畫的函式 216
7.4 OnPaint()函式和OnDraw()函式 217
7.5 繪圖工具的創建 217
7.5.1 畫筆 217
7.5.2 畫刷 219
7.5.3 字型 222
7.6 繪圖工具的使用 225
7.6.1 繪圖工具的使用步驟 225
7.6.2 程式實例1:創建3種類型的畫筆 226
7.6.3 程式實例2:創建3種類型的畫刷 229
7.6.4 程式實例3:創建4種類型的字型 231
7.7 文本操作 234
7.7.1 文本操作概述 234
7.7.2 程式實例:測試滑鼠游標所在的Region 236
7.8 點陣圖操作 241
7.8.1 點陣圖的創建 241
7.8.2 設定點陣圖的內容 242
7.8.3 點陣圖的顯示 243
7.8.4 程式實例:在SDI中顯示指定的點陣圖 243
第8章 檔案處理 253
8.1 檔案操作 253
8.1.1 6個重要的檔案操作類 253
8.1.2 打開檔案 256
8.1.3 讀寫檔案 257
8.1.4 檔案定位 257
8.1.5 關閉檔案 257
8.1.6 查找檔案 257
8.1.7 複製檔案 258
8.1.8 刪除檔案 258
8.1.9 檔案重命名 258
8.2 ini檔案 258
8.2.1 ini檔案的結構 258
8.2.2 兩個重要的存取ini檔案的函式 258
8.3 序列化 259
8.3.1 CArchive類 259
8.3.2 Serialize函式 261
8.4 程式實例 261
8.4.1 實例1:通過讀寫檔案實現登錄對話框 261
8.4.2 實例2:在檔案打開對話框中選擇多個檔案 267
8.4.3 實例3:檔案加密 275
8.4.4 實例4:用ini檔案實現保留上一次打開過的檔案 283
8.4.5 實例5:對畫圖文檔實行序列化處理 287
第9章 註冊表操作 303
9.1 註冊表的基礎知識 303
9.2 註冊表的訪問和修改 304
9.2.1 註冊表的打開 304
9.2.2 註冊表的修改 305
9.2.3 註冊表的關閉 305
9.3 程式實例 306
9.3.1 實例1:限定軟體的使用次數 306
9.3.2 實例2:修改IE主頁 308
第3部分 高級篇
第10章 ActiveX編程 317
10.1 ActiveX控制項基礎知識 317
10.1.1 ActiveX的定義 317
10.1.2 ActiveX的核心內容 317
10.1.3 ActiveX控制項的優點 318
10.1.4 ActiveX控制項的組成 318
10.1.5 ActiveX控制項的方法 318
10.1.6 ActiveX控制項的屬性 320
10.1.7 ActiveX控制項的事件 321
10.1.8 ActiveX控制項的兩種操作模式 322
10.2 創建ActiveX控制項 323
10.3 註冊ActiveX控制項 325
10.4 使用ActiveX控制項 326
10.5 程式實例:電子時鐘控制項 327
第11章 多媒體編程 347
11.1 多媒體技術的基礎知識 347
11.1.1 什麼是多媒體技術 347
11.1.2 多媒體技術的特性 347
11.1.3 多媒體技術涉及的內容 348
11.2 音頻技術 348
11.2.1 音頻技術概述 348
11.2.2 程式實例:一款簡潔實用的Mp3播放器 348
11.3 視頻技術 357
11.3.1 視頻技術概述 357
11.3.2 程式實例:用Media Player組件製作的視頻播放器 357
11.4 圖像壓縮技術 362
11.4.1 圖像壓縮技術概述 362
11.4.2 程式實例:將BMP檔案壓縮成JPG檔案 362
第12章 資料庫編程 369
12.1 利用Visual C++開發資料庫的優勢 369
12.2 Visual C++提供的資料庫訪問技術 370
12.2.1 ODBC資料庫訪問技術 370
12.2.2 DAO資料庫訪問技術 370
12.2.3 ADO資料庫訪問技術 372
12.3 程式實例 376
12.3.1 實例1:通過ODBC讀寫Excel表格檔案 376
12.3.2 實例2:通過DAO讀寫Access檔案 387
12.3.3 實例3:通過ADO操作Access資料庫 397
第13章 多執行緒 411
13.1 進程、執行緒和多執行緒的概念 411
13.1.1 基本概念 411
13.1.2 進程和程式的關係 412
13.1.3 進程和執行緒的關係 412
13.1.4 程式實例:進程管理器 412
13.2 多執行緒的基本工作原理 433
13.3 執行緒的分類 433
13.3.1 工作者執行緒 433
13.3.2 用戶界面執行緒 434
13.3.3 程式實例1:使用工作者執行緒查找區域網路內線上用戶 435
13.3.4 程式實例2:使用用戶界面執行緒實現軟體的片頭效果 449
13.4 執行緒的優先權 452
13.4.1 優先權類 453
13.4.2 優先權層 453
13.5 執行緒的基本操作 454
13.6 執行緒的同步 454
13.6.1 執行緒同步問題的產生 454
13.6.2 解決執行緒同步問題的方法 454
13.6.3 程式實例:使用4種方法解決執行緒同步問題 457
13.7 執行緒的通信 464
13.7.1 執行緒間的通信方式 464
13.7.2 程式實例:使用訊息實現執行緒通信 465
第14章 動態程式庫 469
14.1 動態程式庫的基礎知識 469
14.1.1 為何要使用動態程式庫 470
14.1.2 動態程式庫的調用方式 471
14.2 創建動態程式庫 471
14.2.1 Win32 DLL的創建 472
14.2.2 程式實例1:獲取最大和最小數(使用導出函式關鍵字) 473
14.2.3 程式實例2:獲取最大和最小數(使用.def檔案) 474
14.2.4 MFC DLL的創建 475
14.2.5 程式實例:顯示問候信息 476
14.2.6 DllMain函式 480
14.2.7 在DLL中使用資源 481
14.3 調用動態程式庫 487
14.3.1 隱式連結概述 488
14.3.2 程式實例:通訊錄 488
14.3.3 顯示連結概述 496
14.3.4 程式實例:關閉計算機 496
14.4 查看動態程式庫導出信息的方法 502
第15章 COM編程 503
15.1 組件 503
15.1.1 什麼是組件 503
15.1.2 使用組件的優點 503
15.2 接口 504
15.2.1 什麼是接口 504
15.2.2 接口的作用 504
15.3 COM的基礎知識 504
15.3.1 什麼是COM 504
15.3.2 開發COM的目的 504
15.3.3 COM的本質 504
15.3.4 返回值HRESULT 505
15.3.5 GUID 505
15.3.6 IDL 505
15.3.7 IUnknown接口 507
15.3.8 類廠 508
15.3.9 引用計數 511
15.3.10 智慧型指針 511
15.4 COM的實現 512
15.5 程式實例:利用COM實現四則運算 515
第16章 網路編程 535
16.1 網路的基礎知識 535
16.1.1 協定 535
16.1.2 分層模型 535
16.1.3 IP位址 536
16.1.4 連線埠 537
16.1.5 數據封裝 537
16.1.6 套接字 537
16.2 WinSock編程 538
16.2.1 WinSock編程原理 538
16.2.2 WinSock常用函式 539
16.2.3 程式實例1:基於UDP的網路通信 545
16.2.4 程式實例2:基於TCP的聊天室 553
第17章 鉤子技術 569
17.1 鉤子的基礎知識 569
17.1.1 鉤子的原理 569
17.1.2 鉤子的類型 570
17.2 鉤子的實現 572
17.3 程式實例 573
17.3.1 實例1:類似金山詞霸螢幕取詞功能的滑鼠鉤子 573
17.3.2 實例2:利用鍵盤鉤子禁止任意按鍵 581
第18章 托盤技術 589
18.1 托盤的基礎知識 589
18.1.1 托盤的概述 589
18.1.2 托盤的訪問 589
18.2 托盤的實現 590
18.3 程式實例:定時關機 591
附錄 簡明MFC類庫參考列表 601
第1章 Visual C++編程基礎 3
1.1 Windows編程基礎 3
1.1.1 Windows基礎 3
1.1.2 Windows API 6
1.2 C++語言基礎 7
1.2.1 基本數據類型 8
1.2.2 表達式 11
1.2.3 控制語句 12
1.2.4 數組 15
1.2.5 指針 15
1.2.6 函式 16
1.2.7 類 19
1.3 MFC基礎 26
1.3.1 MFC類庫簡介 26
1.3.2 MFC應用程式框架 27
1.3.3 MFC訊息映射 28
1.3.4 程式實例:繪製直線 29
第2章 Visual C++ 6.0集成開發環境 37
2.1 選單 37
2.1.1 File選單 37
2.1.2 Edit選單 38
2.1.3 View選單 39
2.1.4 Insert選單 40
2.1.5 Project選單 41
2.1.6 Build選單 41
2.1.7 Tools選單 42
2.1.8 Window選單 43
2.1.9 Help選單 44
2.2 工具列 45
2.2.1 工具列的顯示與隱藏 45
2.2.2 工具列的定製與修改 46
2.3 項目面板 46
2.4 代碼編輯器 47
2.5 調試視窗 48
第3章 基本控制項 49
3.1 靜態控制項 49
3.1.1 靜態控制項概述 49
3.1.2 程式實例:用Static Text控制項顯示滾動文字 49
3.2 文本框 76
3.2.1 文本框概述 76
3.2.2 程式實例:輸入格式化字元串的文本框 77
3.3 按鈕 82
3.3.1 按鈕概述 82
3.3.2 程式實例:Windows XP風格的按鈕 83
3.4 列表框 97
3.4.1 列表框概述 98
3.4.2 程式實例:選項的左右移動 98
3.5 組合框 106
3.5.1 組合框概述 106
3.5.2 程式實例:三種風格的組合框 106
3.6 進度條 110
3.6.1 進度條概述 110
3.6.2 程式實例:顯示文字的進度條 110
第4章 對話框 115
4.1 對話框的基礎知識 115
4.2 模態對話框 115
4.2.1 模態對話框概述 115
4.2.2 程式實例:創建和顯示模態對話框 116
4.3 非模態對話框 119
4.3.1 非模態對話框概述 119
4.3.2 程式實例:創建和顯示非模態對話框 119
4.4 通用對話框 126
4.4.1 通用對話框概述 126
4.4.2 程式實例:顯示9種通用對話框 126
第2部分 提高篇
第5章 文檔和視圖 133
5.1 文檔和視圖的基礎知識 133
5.1.1 文檔和視圖的概念 133
5.1.2 文檔和視圖的關係 133
5.1.3 兩類文檔視圖程式(SDI和MDI) 134
5.1.4 與文檔視圖程式相關的五個重要的類 134
5.1.5 有關文檔類和視圖類的五個重要的成員函式 137
5.1.6 與文檔視圖程式相關的三種基本組件 138
5.2 單文檔 138
5.2.1 單文檔概述 138
5.2.2 程式實例:讓應用程式一啟動就打開最近使用的檔案 138
5.3 多文檔 141
5.3.1 多文檔概述 141
5.3.2 程式實例:實現在多個文檔中點陣圖的複製和貼上操作 142
5.4 選單 162
5.4.1 選單概述 162
5.4.2 創建選單 163
5.4.3 在應用程式中控制選單 163
5.4.4 選單訊息處理 163
5.4.5 程式實例:實現彈出式選單 163
5.5 工具列 167
5.5.1 工具列概述 167
5.5.2 創建工具列 167
5.5.3 常見工具列函式 168
5.5.4 程式實例:在工具列中圖示下面顯示文本 171
5.6 狀態欄 173
5.6.1 狀態欄概述 173
5.6.2 創建狀態欄 173
5.6.3 常見狀態欄函式 174
5.6.4 程式實例:在狀態欄中顯示滾動的文本 175
第6章 訊息機制 181
6.1 滑鼠訊息 181
6.1.1 滑鼠訊息分類 181
6.1.2 滑鼠訊息處理函式 181
6.1.3 程式實例:顯示用戶操作滑鼠事件 182
6.2 鍵盤訊息 188
6.2.1 鍵盤訊息分類 188
6.2.2 鍵盤訊息處理函式 188
6.2.3 虛擬鍵碼 189
6.2.4 程式實例:顯示用戶操作鍵盤事件 190
6.3 定時器訊息 198
6.3.1 定時器概述 198
6.3.2 與定時器相關的三個函式 199
6.3.3 程式實例:倒計時 199
6.4 自定義訊息 203
6.4.1 訊息的組成 203
6.4.2 訊息號的範圍及其含義 203
6.4.3 訊息的傳送 204
6.4.4 自定義訊息處理的過程 204
6.4.5 程式實例:顯示滑鼠游標的坐標位置 205
第7章 圖形圖像 211
7.1 圖形和圖像的基礎知識 211
7.1.1 圖形和圖像的概念 211
7.1.2 圖形圖像檔案 212
7.1.3 顏色 213
7.1.4 解析度 213
7.2 圖形設備接口和設備上下文 215
7.2.1 圖形設備接口 215
7.2.2 設備上下文 216
7.3 繪圖操作類和視窗重畫函式 216
7.3.1 三個重要的繪圖操作類 216
7.3.2 三個支持視窗重畫的函式 216
7.4 OnPaint()函式和OnDraw()函式 217
7.5 繪圖工具的創建 217
7.5.1 畫筆 217
7.5.2 畫刷 219
7.5.3 字型 222
7.6 繪圖工具的使用 225
7.6.1 繪圖工具的使用步驟 225
7.6.2 程式實例1:創建3種類型的畫筆 226
7.6.3 程式實例2:創建3種類型的畫刷 229
7.6.4 程式實例3:創建4種類型的字型 231
7.7 文本操作 234
7.7.1 文本操作概述 234
7.7.2 程式實例:測試滑鼠游標所在的Region 236
7.8 點陣圖操作 241
7.8.1 點陣圖的創建 241
7.8.2 設定點陣圖的內容 242
7.8.3 點陣圖的顯示 243
7.8.4 程式實例:在SDI中顯示指定的點陣圖 243
第8章 檔案處理 253
8.1 檔案操作 253
8.1.1 6個重要的檔案操作類 253
8.1.2 打開檔案 256
8.1.3 讀寫檔案 257
8.1.4 檔案定位 257
8.1.5 關閉檔案 257
8.1.6 查找檔案 257
8.1.7 複製檔案 258
8.1.8 刪除檔案 258
8.1.9 檔案重命名 258
8.2 ini檔案 258
8.2.1 ini檔案的結構 258
8.2.2 兩個重要的存取ini檔案的函式 258
8.3 序列化 259
8.3.1 CArchive類 259
8.3.2 Serialize函式 261
8.4 程式實例 261
8.4.1 實例1:通過讀寫檔案實現登錄對話框 261
8.4.2 實例2:在檔案打開對話框中選擇多個檔案 267
8.4.3 實例3:檔案加密 275
8.4.4 實例4:用ini檔案實現保留上一次打開過的檔案 283
8.4.5 實例5:對畫圖文檔實行序列化處理 287
第9章 註冊表操作 303
9.1 註冊表的基礎知識 303
9.2 註冊表的訪問和修改 304
9.2.1 註冊表的打開 304
9.2.2 註冊表的修改 305
9.2.3 註冊表的關閉 305
9.3 程式實例 306
9.3.1 實例1:限定軟體的使用次數 306
9.3.2 實例2:修改IE主頁 308
第3部分 高級篇
第10章 ActiveX編程 317
10.1 ActiveX控制項基礎知識 317
10.1.1 ActiveX的定義 317
10.1.2 ActiveX的核心內容 317
10.1.3 ActiveX控制項的優點 318
10.1.4 ActiveX控制項的組成 318
10.1.5 ActiveX控制項的方法 318
10.1.6 ActiveX控制項的屬性 320
10.1.7 ActiveX控制項的事件 321
10.1.8 ActiveX控制項的兩種操作模式 322
10.2 創建ActiveX控制項 323
10.3 註冊ActiveX控制項 325
10.4 使用ActiveX控制項 326
10.5 程式實例:電子時鐘控制項 327
第11章 多媒體編程 347
11.1 多媒體技術的基礎知識 347
11.1.1 什麼是多媒體技術 347
11.1.2 多媒體技術的特性 347
11.1.3 多媒體技術涉及的內容 348
11.2 音頻技術 348
11.2.1 音頻技術概述 348
11.2.2 程式實例:一款簡潔實用的Mp3播放器 348
11.3 視頻技術 357
11.3.1 視頻技術概述 357
11.3.2 程式實例:用Media Player組件製作的視頻播放器 357
11.4 圖像壓縮技術 362
11.4.1 圖像壓縮技術概述 362
11.4.2 程式實例:將BMP檔案壓縮成JPG檔案 362
第12章 資料庫編程 369
12.1 利用Visual C++開發資料庫的優勢 369
12.2 Visual C++提供的資料庫訪問技術 370
12.2.1 ODBC資料庫訪問技術 370
12.2.2 DAO資料庫訪問技術 370
12.2.3 ADO資料庫訪問技術 372
12.3 程式實例 376
12.3.1 實例1:通過ODBC讀寫Excel表格檔案 376
12.3.2 實例2:通過DAO讀寫Access檔案 387
12.3.3 實例3:通過ADO操作Access資料庫 397
第13章 多執行緒 411
13.1 進程、執行緒和多執行緒的概念 411
13.1.1 基本概念 411
13.1.2 進程和程式的關係 412
13.1.3 進程和執行緒的關係 412
13.1.4 程式實例:進程管理器 412
13.2 多執行緒的基本工作原理 433
13.3 執行緒的分類 433
13.3.1 工作者執行緒 433
13.3.2 用戶界面執行緒 434
13.3.3 程式實例1:使用工作者執行緒查找區域網路內線上用戶 435
13.3.4 程式實例2:使用用戶界面執行緒實現軟體的片頭效果 449
13.4 執行緒的優先權 452
13.4.1 優先權類 453
13.4.2 優先權層 453
13.5 執行緒的基本操作 454
13.6 執行緒的同步 454
13.6.1 執行緒同步問題的產生 454
13.6.2 解決執行緒同步問題的方法 454
13.6.3 程式實例:使用4種方法解決執行緒同步問題 457
13.7 執行緒的通信 464
13.7.1 執行緒間的通信方式 464
13.7.2 程式實例:使用訊息實現執行緒通信 465
第14章 動態程式庫 469
14.1 動態程式庫的基礎知識 469
14.1.1 為何要使用動態程式庫 470
14.1.2 動態程式庫的調用方式 471
14.2 創建動態程式庫 471
14.2.1 Win32 DLL的創建 472
14.2.2 程式實例1:獲取最大和最小數(使用導出函式關鍵字) 473
14.2.3 程式實例2:獲取最大和最小數(使用.def檔案) 474
14.2.4 MFC DLL的創建 475
14.2.5 程式實例:顯示問候信息 476
14.2.6 DllMain函式 480
14.2.7 在DLL中使用資源 481
14.3 調用動態程式庫 487
14.3.1 隱式連結概述 488
14.3.2 程式實例:通訊錄 488
14.3.3 顯示連結概述 496
14.3.4 程式實例:關閉計算機 496
14.4 查看動態程式庫導出信息的方法 502
第15章 COM編程 503
15.1 組件 503
15.1.1 什麼是組件 503
15.1.2 使用組件的優點 503
15.2 接口 504
15.2.1 什麼是接口 504
15.2.2 接口的作用 504
15.3 COM的基礎知識 504
15.3.1 什麼是COM 504
15.3.2 開發COM的目的 504
15.3.3 COM的本質 504
15.3.4 返回值HRESULT 505
15.3.5 GUID 505
15.3.6 IDL 505
15.3.7 IUnknown接口 507
15.3.8 類廠 508
15.3.9 引用計數 511
15.3.10 智慧型指針 511
15.4 COM的實現 512
15.5 程式實例:利用COM實現四則運算 515
第16章 網路編程 535
16.1 網路的基礎知識 535
16.1.1 協定 535
16.1.2 分層模型 535
16.1.3 IP位址 536
16.1.4 連線埠 537
16.1.5 數據封裝 537
16.1.6 套接字 537
16.2 WinSock編程 538
16.2.1 WinSock編程原理 538
16.2.2 WinSock常用函式 539
16.2.3 程式實例1:基於UDP的網路通信 545
16.2.4 程式實例2:基於TCP的聊天室 553
第17章 鉤子技術 569
17.1 鉤子的基礎知識 569
17.1.1 鉤子的原理 569
17.1.2 鉤子的類型 570
17.2 鉤子的實現 572
17.3 程式實例 573
17.3.1 實例1:類似金山詞霸螢幕取詞功能的滑鼠鉤子 573
17.3.2 實例2:利用鍵盤鉤子禁止任意按鍵 581
第18章 托盤技術 589
18.1 托盤的基礎知識 589
18.1.1 托盤的概述 589
18.1.2 托盤的訪問 589
18.2 托盤的實現 590
18.3 程式實例:定時關機 591
附錄 簡明MFC類庫參考列表 601