內容簡介
作為Windows
開發人員的必備參考,涵蓋基礎知識和中高級主題,全面地介紹了Windows程式設計所涉及的細枝末節,旨在幫助讀者從高屋
建瓴的角度,建立完整的知識體系,為以後的職業生涯奠定良好的基礎。全書共3部分23章。第1~12章著重介紹基礎知識,第13~18章的主題為圖形,第19~23章涉及更多高級主題。
《Windows程式設計(第5版 珍藏版)》適合任何層次的Windows程式設計師閱讀和參考,是幫助他們梳理和建立Windows知識體系的理想讀物。
目錄
第Ⅰ部分 基礎知識
第1章 起步
1.1 Windows環境
1.1.1 Windows簡史
1.1.2 Windows的方方面面
1.1.3 動態連結
1.2 Windows編程選項
1.2.1 API及記憶體管理模式
1.2.2 語言選擇
1.2.3 編程環境
1.2.4 API文檔
1.3 你的第一個Windows程式
1.3.1 字元模式
1.3.2 Windows對應程式
1.3.3 頭檔案
1.3.4 程式入口
1.3.6 編譯、連結及運行
第2章Unicode簡介
2.1.2 美國以外的世界
2.1.4 雙位元組字元集
2.1.5 Unicode的解救方案
2.2.1 char數據類型
2.2.2 更寬的字元
2.2.3 寬字元庫函式
2.3 寬字元和Windows
2.3.1 Windows頭檔案的類型
2.3.2 Windows函式調用
2.3.3 Windows的字元串函式
2.3.4 在Windows中使用printf
2.3.5 格式化的訊息框
2.3.6 國際化之於本書
第3章 視窗與訊息
3.1 視窗的創建
3.1.1 系統結構概述
3.1.2 HELLOWIN程式
3.1.3 通盤考慮
3.1.4 視窗類的註冊
3.1.5 視窗的創建
3.1.6 視窗的顯示
3.1.7 訊息循環
3.1.8 視窗過程
3.1.9 訊息的處理
3.1.10 聲音檔案的播放
3.1.12 WM_DESTROY訊息
3.2 Windows編程中的若干難點
3.2.1 究竟是誰調用誰
3.2.2 佇列訊息和非佇列訊息
第4章 文本輸出
11.3.3 改變字型
11.3.4 查找和替換
11.3.5 只調用一個函式的Windows程式
第12章 剪貼簿
12.1 剪貼簿的簡單使用
12.1.1 標準剪貼簿數據格式
12.1.2 記憶體分配
12.1.3 將文本傳送到剪貼簿
12.1.4 從剪貼簿上獲取文本
12.1.5 打開和關閉剪貼簿
12.1.6 剪貼簿和unicode
12.2 複雜的剪貼簿用法
12.2.1 利用多個數據項
12.2.2 延遲生成
12.2.3 私有數據格式
12.3 實現剪貼極查看器
12.3.1 剪貼簿查看器鏈
12.3.2 剪貼簿查看器的函式和訊息
12.3.3 一個簡單的剪貼簿查看器
第Ⅱ部分 關於圖的那些事兒
第13章 使用印表機
13.1 列印基礎
13.1.1 列印和後台處理
13.1.2 印表機設備環境
13.1.3 修改後的DEVCAPS程式
13.1.4 PrinterProperties調用
13.1.5 檢查BitBlt能力
13.1.6 最簡單的列印程式
13.2 列印圖形和文本
13.2.1 列印的基本過程
13.2.2 使用中止過程來取消列印
13.2.3 Windows如何使用AbortProc
13.2.4 實現中止過程
13.2.5 添加列印對話框
13.2.6 為POPPAD增加列印功能
第14章 點陣圖和Bitblt
14.1 點陣圖基礎
14.1.1 點陣圖的來源
14.2 點陣圖尺寸
14.2.1 顏色和點陣圖
14.2.2 現實世界的設備
14.2.3 GDI 支持的點陣圖
14.3 位塊傳輸
14.3.1 簡單的BitBlt
14.3.2 拉伸點陣圖
14.3.3 StretchBlt模式
14.3.4 光柵操作
14.3.5 圖案Blt
14.4 GDI 點陣圖對象
14.4.1 創建DDB
14.4.2 點陣圖位
14.4.3 記憶體設備環境
14.4.4 載入點陣圖資源
14.4.5 單色點陣圖格式
14.4.6 用點陣圖作畫刷
14.4.7 繪製點陣圖
14.4.8 陰影點陣圖
14.4.9 在功能表中使用點陣圖
14.4.10 非矩形點陣圖圖像
14.4.11 簡單的動畫
14.4.12 視窗外的點陣圖
第15章 與裝置無關的點陣圖
15.1 DIB檔案格式
15.1.1 OS/2樣式的DIB
15.1.2 由下而上
15.1.3 DIB圖素位元
15.1.4 擴展的Windows DIB
15.1.5 真實檢查
15.1.6 DIB壓縮
15.2 顏色遮罩(COLOR MASKING)
15.2.1 第4 版本的Header
17.6 有趣的東西
17.6.1 GDI 繪圖路徑
17.6.2 擴展畫筆
17.6.3 四個範例程式
第18章 METAFILE
18.1 舊的METAFILE格式
18.1.1 記憶體metafile 的簡單利用
18.1.將metafile儲存在磁碟上
18.1.老式metafile 與剪貼簿
18.2增強型METAFILE
18.2.1 基本程式
18.2.2 揭開內幕
18.2.3 metafile 與GDI 對象
18.2.4 metafile 和點陣圖
18.2.5 列舉metafile 內容
18.2.6 嵌入圖像
18.2.7 增強型metafile 閱覽器和印表機
18.2.8 顯示精確的metafile圖像
18.2.9 縮放比例和縱橫比
18.2.10 metafile 中的映射方式
18.2.11 映射與顯示
第Ⅲ部分 高級主題
第19章 多重檔案介面
19.1 MDI 概念
19.1.1 MDI 的組成
19.1.2 MDI 支援
19.2 MDI 的範例程式
19.2.1 三個功能表
19.2.2 程式初始化
19.2.3 建立子視窗
19.2.4 關於框架視窗的訊息處理
19.2.5 子檔案視窗
19.2.6 結束處理
第20章 多工和多執行緒
20.1 多工的各種模式
20.1.1 DOS下的多工
20.1.2 非優先權式的多工
20.1.3 Presentation Manager 和序列化的訊息佇列
20.1.4多執行緒解決方案
20.1.5 多執行緒架構
20.1.6 執行緒間的「爭吵」
20.1.7 Windows 的好處
20.1.8 新改良過的!支援多執行緒了!
20.2 WINDOWS的多執行緒處理
20.2.1 再論隨機矩形
20.2.2 程式設計競賽的問題
20.2.3 多執行緒解決方案
20.2.4 有問題嗎?
20.2.5 Sleep 的好處
20.3 執行緒同步
20.3.1 臨界區域
20.3.2 事件信號
20.3.3 BIGJOB1 程式
20.3.4 事件對象
20.3.5 執行緒區域儲存空間(TLS)
第21章 動態連結程式庫
21.1 動態連結程式庫的基本知識
21.1.1 程式庫:一詞多義
21.1.2 一個簡單的DLL
21.1.3 程式庫入口/出口點
21.1.4 測試程式
21.1.在DLL中共用記憶體
21.1.5 STRPROG程式
21.1.6 在STRPROG執行實體之間共用資料
21.2 各式各樣的DLL討論
21.2.1 不用輸入引用資訊的動態連結
21.2.2 純資源程式庫
第22章 聲音與音樂
22.1 WINDOWS 和多媒體
22.1.1 多媒體硬體
22.1.2 API 概述
22.1.3 用TESTMCI研究MCI
22.1.4 MCITEXT 和CD聲音
22.2 波形聲音
22.2.1 聲音與波形
22.2.2 脈衝編碼調製(Pulse Code Modulation)
22.2.3 取樣頻率
22.2.4 樣本大小
22.2.5 在軟體中產生正弦波
22.2.6 數位錄音機
22.2.7 另一種MCI 介面
22.2.8 MCI 命令字串的方法
22.2.9 波形聲音檔案格式
22.2.10 疊加合成實驗
22.2.11 起床號波形聲音
22.3 MIDI 和音樂
22.3.1 使用MIDI
22.3.2 程式更改
22.3.3 MIDI 通道
22.3.4 MIDI 訊息
22.3.5 MIDI 編曲簡介
22.3.6 通過鍵盤演奏MIDI 合成器
22.3.7 MIDI 擊鼓器
22.3.8 多媒體time 函式
22.3.9 RIFF檔案I/O
第23章 領略INTERNET
23.1 WINDOWS 套接字
23.1.1 套接字和TCP/IP
23.1.2 網路時間服務
23.1.3 NETTIME 程式
23.2 WININET 和FTP
23.2.1 FTP API概況
23.2.2 更新展示程式
作者簡介
作者:(美國)佩措爾德(Charles Petzold) 譯者:
方敏 張勝梁路平 等
Charles Petzold,從1984年起,Charles Petzold就一直在從事個人計算機編程方面的寫作工作,而且自1985年起就在微軟Windows上編寫程式。在1986年12月的Microsoft Systems Journal上,他發表了第一篇關 Windows編程的文章。在1986至1995年之間,他為PC Magazine系統環境專欄撰寫了大量的文章,為讀者們介紹Windows和OS/2編程的方方面面。
《Windows程式設計》由微軟出版社於1988年首次出版,隨後一直是這一領域的最佳入門參考書。1994年5月,鑒於其為微軟Windows的成功所作的貢獻,Petzold作為唯一的作家,成為7位由Windows Magazine及
微軟公司頒發的Windows先驅者獎(Windows Pioneer Award)得主之一。
1999年秋,微軟出版社出版了Charles Petzold為普通讀者而作的第一本書,名為Code:The Hidden Language of Computer Hardware and Software。那是一本獨特的、關於數字信息特性以及計算機如何使用數字信息來工作的入門書。
方敏,現任微軟Windows國際軟體工程首席測試部門主管,有著近20年
軟體測試管理和開發的豐富經驗,曾參加過微軟多項重大產品和技術的研製,包括Windows Server/Client/Security,SQL Server,Exchange Server,MSN,COM+Setvices,Windows Media及微軟內部IT工具等。方敏擁有
清華大學電子工程學學士和碩士學位,美國新墨西哥技術學院計算機碩士學位。
張勝,現任微軟總部高級軟體開發測試主管,10餘年軟體開發測試和團隊管理經驗,參與Visual Studio,SQL Server,Office Live的開發、測試和發布,現主管Office Communications Server本地化軟體開發測試工作。張勝擁有
復旦大學計算機系碩士和學士學位。
梁路平,獲得清華大學計算機工程學士、加拿大
滑鐵盧大學計算機科學數學碩士和UBC。計算機科學博士等學位。曾任清華大學計算機系教師,加拿大BNR/Nortel高級網路系統科學家,美國Microsoft系統性能工程師,程式設計師及MSN項目經理。上世紀80年代,代表清華大學與加拿大CDNNET中心談判,無償引進網路
軟體開發環境EAN,並和中國網際網路之父清華大學
胡道元教授歷史性地互換了中國大陸與北美之間的首封Email。業餘喜歡摻和社區公益活動、
希望工程、海外中文教育,喜歡和朋友相聚、讀書、聽音樂,跟家人一起週遊世界。
趙勇,2007年加入微軟,從事大型廣告平台的開發。此前在IBM和美國Argonne國家實驗室擔任
實習研究員。趙勇持有美國
芝加哥大學的計算機博士學位,清華大學工學碩士和北京師範大學
理學學士學位。