內容介紹
內 容 簡 介Windows95是Wind0ws3.1的更新換代產品,它具有新的用戶界面、
新的特性以及許多新的輔助程式,使得它比Windows3.1更強大,尤其是它
支持Win32應用程式設計接口,利用這個接口包含的新機制,可以開發出
更好的程式。
本仍是為已經熟悉Wind0ws3.1的程式設計師希望快速地轉向使用Win-
dows95平台以及32位Win32應用程式設計接口而編寫的,主要包括三個
主題:①利用Win32將Wind0ws3.1程式移植到Wind0ws95中;②在應
用程式中使用Windows95的新特性;③了解Windows95的內部結構。
書中提供了很多樣本程式,它們以實際代碼來展示如何使用Windows
95的特性,便於讀者運用和理解。
作品目錄
目 錄第一章 Windows95編程環境
1.1擴展的檔案系統
1.2記憶體映像檔案
1.3記憶體管理
1.4結構化異常處理
1.5進程和執行緒
1.6搶先式多任務
第二章 應用程式編程接口
2.1各類API簡介
2.1.1Win16
2.1.2Win32s
2.1.3Win32―95
2.14Win32
2.2各類Wind0ws作業系統簡介
2.2.1Wind0ws3.1
2.2.2Wind0ws95
2.2.3Wind0wsNT
2.316位版本與32位版本
2.3.116位版本
2.3.232位版本
第三章 移植到Windows95
――入門
3.1HELLO1――Windows3.1起點
3.2HELLO2――清理代碼
3.3HELLO3――最終版本
3.4移植的途徑
3.4.1證實Win16應用程式
3.4.2轉變到32位編程
3.4.3清理32位代碼
3.4.4使用新的Windows95
特性
3.5Windows95結構問題
3.5.1異步輸入模型
3.5.2分離的地址空間
3.5.3指針問題
3.5.4記憶體共享
3.6Windows95語法問題
3.6.1轉移到32位
3.6.2訊息但中的改變
3.6.3Intel的消失
3.6.4MS-DOS的消失
3.6.5其他語法改變
3.7檔案操作的問題
3.8一個關於移植的評論
第四章 移植到Wind0ws95
――揭秘
第五章 Wind0ws95記憶體分配
5.1記憶體定址模式
5.2記憶體管理API
5.3從局部堆中分配記憶體
5.4從全局堆中分配記憶體
5.5C運行庫分配函式
5.6堆記憶體
5.6.1啟動記憶體要求
5.6.2面向對象的結構
5.6.3每視窗一個堆
5.6.4執行效率
5.6.5清理中的方便
5.6.6結構化異常處理
5.7記憶體映像檔案
5.8虛擬記憶體
5.8.1頁狀態
5.8.2保留和約定頁
5.8.3取消和釋放頁
5.8.4判斷虛擬記憶體的狀態
5.8.5使用虛擬記憶體時的考慮
5.9記憶體管理內部結構
5.9.1地址空間
5.9.2虛擬記憶體管理器
5.9.3在進程之間共享記憶體
5.9.4執行記憶體管理API
5.9.5記憶體地址翻譯
5.9.6記憶體狀態
第六章 進程和執行緒
6.1進程樣本程式
6.2終止一個進程
6.3更具體地理解CreateProcess
6.4更詳細地理解sTARTUPINFO)
6.5執行緒樣本程式
6.6終止客戶執行緒
6.7更詳細地理解CreateThread
6.8進程與執行緒
6.9實句柄和偽句柄
6.10進程間通信
6.11何時使用多進程
6.11.1一個客戶―伺服器資料庫
應用程式
6.11.2工業數據獲取
6.11.3一個客戶服務應用程式
6.12何時使用多執行緒
第七章 共享與同步
7.1當數據被共享時
7.2當一個執行緒等待一個事件時
7.3當死鎖必須被避免時
7.4同步如何工作
7.5同步對象的類型
7.5.1臨界區
7.5.2進程
7.5.3執行緒
7.5.4互斥標誌
7.5.5信號類
7.5.6自動復位事件
7.5.7人工復位事件
7.6等待一個同步事件
7.6.1使用單個對象的同步
7.6.2使用多個對象的同步
7.6.3使用多個對象中的一個
的同步
7.6.4使用一個訊息的同步
7.7使用臨界區
7.8使用進程和執行緒的同步
7.9使用一個互斥標誌的同步
7.10一個互斥標誌樣本程式
7.11使用一個信號燈的同步
7.12一個信號燈樣本程式
7.13使用事件的同步
7.14一個事件樣本程式
7.15互鎖變數
7.16GDI和同步
7.17堆管理和同步
7.18程式設計和同步
第八章 Windows 95的檔案系統
8.1基本檔案操作
8.2CreateFile的一個詳細討論
8.2.1IpFileName
8.2.2dwDesiredAccess
8.2.3dwSharemode
8.2.41pSecurityAttributes
8.2.5dwCreationDistribution
8.2.6dwFlagsAndAttirbutes
8.2.7hTemplateFile
8.3讀出和寫入檔案
8.4目錄和檔案操作
8.5檔案鎖定和解鎖
8.6長檔案名稱
8.7檔案時間
8.8其他檔案信息
8.9系統和卷信息
8.10檔案系統觀察器樣本程式
8.11搜尋檔案
8.12檔案通知
8.13目錄監視樣本程式
8.14無名管道
8.15無名管道樣本程式
第九章 記憶體映像檔案
9.1什麼是檔案映射
9.2記憶體映像檔案觀察器樣本程式
9.3一個檔案的多個映像
9.4在進程之間共享一個檔案
9.5關於檔案映射的額外細節
9.6在進程之間共享記憶體
9.7共享記憶體樣本程式
9.8檔案映射實際工作方式
第十章 DLL
10.1調用DLL中的函式
10.2DLL初始化
10.3建立DLL
10.4使用一個DLL共享數據
10.4.1檔案映射
10.4.2直接共享變數
10.5DLL的執行方式
10.6DI,L樣本程式
第十一章 異常處理
11.1什麼是異常
11.2異常處理
11.3異常過濾器值
11.3.1EXCEPT1ONEXECUTEHANDLER
11.3.2EXCEPTIONCONTINUESEARCH
11.3.3EXCEPTIONCONTINUEEXECUTION
11.4再論異常過濾器
11.5使用try/except塊的樣本程式
11.6終止處理
11.7終止和異常處理
11.8軟體異常
11.9異常處理樣本程式
11.10展開堆疊
11.11沒有處理的異常
11.12異常和調試
11.13C十十和結構化異常處理
第十二章 客戶-伺服器應用程式
與DDE
12.1DDE定義
12.2DDE與OLE之間的選擇
12.3DDE協定
12.4伺服器命名機制
12.5回調函式
12.6DDEML的初始化
12.7字元串句柄和原子
12.8事務
12.9建立一次對話
12.10DDE數據對象
12.11從伺服器中請求數據
12.12傳送數據給伺服器
12.13用最新的數據更新客戶
12.13.1初始化一個通知循環
12.13.2從伺服器中傳輸一個
通知
12.13.3終止一個通知循環
12.14傳送一個命令給伺服器
12.15同步事務和異步事務
12.16樣本程式――一個人事搜尋
程式
12.16.1應用程式的功能和操作
12.16.2程式結構
12.16.3初始化和終止DDE
通信
12.16.4客戶用戶界面
12.16.5檔案操作
12.16.6搜尋程式設計師
12.16.7管理編程工程
12.16.8維護程式設計師資料庫
12.16.9計畫變化的通知
12.16.10調試伺服器用戶界面
12.16.11程式設計注意點
第十三章 內部結構探秘
13.1虛擬機結構
13.2啟動過程
13.3驅動程式結構
13.4異步輸入模型
13.5調度與優先權
13.5.1優先權與優先類
13.5.2在API級的優先權控制
13.5.3調度器對優先權的控制
13.6可靠性、強壯性和安全性
13.7重入和Win16Mutex
13.8Thunk
第十四章 其他編程考慮
14.1國際化
14.1.1字元集的問題
14.1.2統一代碼――一個更好的
方法
14.1.3統一代碼與
WindowsNT
14.1.4統一代碼與Windows95
14.1.5Windows95平台
14.2即插即用
14.3對象連結和嵌入
14.3.1成分對象模型
14.3.2成分對象
14.3.3結構化存儲
14.3.4統一格式數據傳輸
14.3.50LE自動化
14.3.6複合文檔
14.3.7原地激活
14.3.8關於OLE的回顧
14.4網路
14.4.1網路編程接口
14.4.2網路供應器接口
14.4.3傳輸編程接口
14.4.4設備驅動程式