《Windows核心編程》是2008年5月機(jī)械工業(yè)出版社出版的圖書(shū),作者是(美)Jeffrey Richter。本書(shū)從基本概念入手,全面系統(tǒng)地介紹了Windows底層實(shí)現(xiàn)機(jī)制、Windows應(yīng)用程序的基本構(gòu)件以及各類(lèi)Windows API等,并列舉了大量應(yīng)用程序示例。.

中文名

Windows核心編程

開(kāi)本

16

原版名稱(chēng)

Windows Via C/C++

定價(jià)

85.1

語(yǔ)言

簡(jiǎn)體中文

出版社

機(jī)械工業(yè)出版社

頁(yè)數(shù)

728

作者

(美)Jeffrey Richter

出版時(shí)間

2008年

裝幀

平裝

版次

第1版

譯者

黃隴

其他

膠版紙

ISBN

9787111237914

作者簡(jiǎn)介

Windows核心編程

Jeffrey Richter是一位在全球享有盛譽(yù)的技術(shù)作家,尤其在Windows/.NET領(lǐng)域有著杰出的貢獻(xiàn)。他的第一本W(wǎng)indows著作Windows 3: A Developer's Guide大獲好評(píng),從而聲名遠(yuǎn)揚(yáng)。之后,他又推出了經(jīng)典著作《Windows 高級(jí)編程指南》和《Windows核心編程》。如今這兩本書(shū)早已成為Windows程序設(shè)計(jì)領(lǐng)域的顛峰之作,培育了幾代軟件開(kāi)發(fā)設(shè)計(jì)人員。他的每一本新作問(wèn)世,我們都有理由相信這是一本巨著,我們想要的一切盡在其中。Jeffery 是Wintellect公司的創(chuàng)始人之一,也是MSDN雜志.NET專(zhuān)欄的特邀編輯。。因?yàn)樗?999年開(kāi)始就參與了微軟.NET框架開(kāi)發(fā)組的咨詢(xún)工作,與這些一線(xiàn)人員一起經(jīng)歷了.NET的孕育與誕生,所以他對(duì).NET思想的領(lǐng)悟、對(duì).NET的細(xì)節(jié)熟稔,是其他任何作家難以企及的。他是.NET著作領(lǐng)域中當(dāng)之無(wú)愧的一面旗幟。

編輯推薦

亮點(diǎn):長(zhǎng)銷(xiāo)不衰的Windows編程經(jīng)典

權(quán)威力作 再度新鮮亮相

名著名譯 彰顯經(jīng)典魅力

深刻剖析底層實(shí)現(xiàn)機(jī)理

直擊Windows編程精髓

Windows核心編程(第5版)針對(duì)Windows XP,Windows Vista和Windows Server 2008全面修訂。主題廣泛,內(nèi)容豐富,講解深入而精辟。透過(guò)這本W(wǎng)indows編程經(jīng)典,我們可以在專(zhuān)家的悉心指導(dǎo)下,洞悉Windows編程精華,深入了解高級(jí)編程技巧,編寫(xiě)出高性能的Windows應(yīng)用程序。

本書(shū)重要主題:

如何為32位和64位Windows系統(tǒng)構(gòu)建和實(shí)現(xiàn)應(yīng)用程序;

如何新建和處理進(jìn)程與作業(yè);

如何調(diào)度.管理、同步和銷(xiāo)毀線(xiàn)程;

如何通過(guò)I/O完成端口執(zhí)行同步和異步設(shè)備I/O操作;

如何使用虛擬內(nèi)存、內(nèi)存映射文件和堆之類(lèi)的各種技術(shù)來(lái)分配內(nèi)存;

如何處理默認(rèn)調(diào)撥的線(xiàn)程棧物理存儲(chǔ);

如何為延遲加載、API攔截和進(jìn)程注入構(gòu)建DLL;

如何使用結(jié)構(gòu)化異常處理、Windows錯(cuò)誤恢復(fù)和應(yīng)用程序重啟等機(jī)制。

《微軟技術(shù)叢書(shū)》包括以下幾個(gè)子系列:

從入門(mén)到精通:適合新手程序員的實(shí)用教程;側(cè)重于基礎(chǔ)技術(shù)和特征;提供范例文件。

技術(shù)內(nèi)幕:權(quán)威、必備的參考大全;包含豐富、實(shí)用的范例代碼;幫助讀者熟練掌握微軟件技術(shù)。

高級(jí)編程:側(cè)重于高級(jí)特性、技術(shù)和解決問(wèn)題;包含豐富、適用性強(qiáng)的范例代碼;幫助讀者精通微軟技術(shù)。

精通&寶典:著重剖析應(yīng)用技巧,以幫助提高工作效率;主題包括辦公應(yīng)用和開(kāi)發(fā)工具。

認(rèn)證考試教材:完全根據(jù)考試要求來(lái)闡述每一個(gè)知識(shí)點(diǎn);提供可供搜索的Ebook(英文版)和訓(xùn)練題;提供實(shí)際場(chǎng)景、案例分析和故障診斷實(shí)驗(yàn)。

簡(jiǎn)介

本書(shū)是講解Windows操作系統(tǒng)內(nèi)部機(jī)制的一本專(zhuān)著。作者從基本概念入手,全面系統(tǒng)地介紹了Windows底層實(shí)現(xiàn)機(jī)制、Windows應(yīng)用程序的基本構(gòu)件(包括進(jìn)程、線(xiàn)程、內(nèi)存管理、動(dòng)態(tài)鏈接庫(kù)、線(xiàn)程本地存儲(chǔ)和Unicode)以及各類(lèi)Windows API等,并列舉了大量應(yīng)用程序示例,精辟地分析了Windows編程的各個(gè)難點(diǎn)和要點(diǎn),為掌握Windows編程技巧提供了一條有效的捷徑。.

本書(shū)適合Windows編程人員參考。...

目錄

譯者序

前言

作譯者簡(jiǎn)介

第一部分 程序員必讀

第1章 錯(cuò)誤處理

1.1 自定義錯(cuò)誤處理的實(shí)現(xiàn)

1.2 錯(cuò)誤顯示例程

第2章 Unicode

2.1字符集

2.1.1 單字節(jié)和雙字節(jié)字符集

2.1.2 Unicode:寬字節(jié)字符集

2.2 為何需要Unicode

2.3 Windows 2000和Unicode

2.4 Windows 98和Unicode

2.5 Windows CE和Unicode

2.6 評(píng)論

2.7 關(guān)于COM

2.8 如何編寫(xiě)Unicode源代碼

2.8.1 C運(yùn)行庫(kù)的Unicode支持

2.8.2 Windows定義的Unicode數(shù)據(jù)類(lèi)型

2.8.3 Windows系統(tǒng)中的Unicode函數(shù)和ANSI函數(shù)

2.8.4 Windows字符串函數(shù)

2.9 讓?xiě)?yīng)用程序符合ANSI和Unicode規(guī)范

2.9.1 Windows字符串函數(shù)

2.9.2 資源

2.9.3 確定文本是ANSI型還是Unicode型

2.9.4 在Unicode和ANSI間轉(zhuǎn)換字符串

第3章內(nèi)核對(duì)象

3.1內(nèi)核對(duì)象的概念

3.1.1 使用計(jì)數(shù)

3.1.2 安全性

3.2內(nèi)核對(duì)象句柄表

3.2.1 創(chuàng)建內(nèi)核對(duì)象

3.2.2 關(guān)閉內(nèi)核對(duì)象

3.3 進(jìn)程間內(nèi)核對(duì)象的共享

3.3.1 對(duì)象句柄的繼承性

3.3.2 改變句柄標(biāo)志

3.3.3 命名對(duì)象

3.3.4終端服務(wù)器命名空間

3.3.5 復(fù)制對(duì)象句柄

第二部分 完成編程任務(wù)

第4章 進(jìn)程

4.1 編寫(xiě)第一個(gè)Windows應(yīng)用程序

4.1.1 進(jìn)程的實(shí)例句柄

4.1.2 進(jìn)程的前一個(gè)實(shí)例句柄

4.1.3 進(jìn)程的命令行

4.1.4 進(jìn)程的環(huán)境變量

4.1.5 親緣性

4.1.6 進(jìn)程的錯(cuò)誤模式

4.1.7 當(dāng)前驅(qū)動(dòng)器和目錄

4.1.8當(dāng)前目錄

4.1.9 系統(tǒng)版本

4.2 CreateProcess函數(shù)

4.2.1 pszApplicationName和pszCommandLine

4.2.2 psaProcess、psaThread和bInheritHandles

4.2.3 fdwCreate

4.2.4 pvEnvironment

4.2.5 pszCurDir

4.2.6 psiStartInfo

4.2.7 ppiProcInfo

4.3 進(jìn)程的終止

4.3.1主線(xiàn)程的入口函數(shù)返回

4.3.2 ExitProcess函數(shù)

4.3.3 TerminateProcess函數(shù)

4.3.4 進(jìn)程中所有線(xiàn)程的運(yùn)行終止

4.3.5 進(jìn)程的運(yùn)行終止

4.4 子進(jìn)程

4.5 枚舉系統(tǒng)中運(yùn)行的進(jìn)程

第5章 作業(yè)

5.1 對(duì)作業(yè)進(jìn)程的限制

5.2 把進(jìn)程放入作業(yè)

5.3 終止作業(yè)中所有進(jìn)程的運(yùn)行

5.4 查詢(xún)作業(yè)統(tǒng)計(jì)信息

5.5 作業(yè)通知信息

5.6 JobLab示例應(yīng)用程序

第6章 線(xiàn)程的基本知識(shí)

6.1 創(chuàng)建線(xiàn)程的時(shí)機(jī)

6.2 何時(shí)不能創(chuàng)建線(xiàn)程

6.3 編寫(xiě)第一個(gè)線(xiàn)程函數(shù)

6.4 CreateThread函數(shù)

6.4.1 psa

6.4.2 cbStack

6.4.3 pfnStartAddr和pvParam

6.4.4 fdwCreate

6.4.5 pdwThreadID

6.5 終止線(xiàn)程

6.5.1 線(xiàn)程函數(shù)返回

6.5.2 ExitThread函數(shù)

6.5.3TerminateThread函數(shù)

6.5.4 在進(jìn)程終止運(yùn)行時(shí)終止線(xiàn)程

6.5.5 線(xiàn)程終止運(yùn)行時(shí)發(fā)生的操作

6.6 線(xiàn)程的一些內(nèi)部細(xì)節(jié)

6.7 對(duì)于C/C++運(yùn)行時(shí)庫(kù)的考慮

6.7.1 Oops—錯(cuò)誤地調(diào)用了CreateThread

6.7.2 不該調(diào)用的C/C++運(yùn)行時(shí)庫(kù)函數(shù)

6.8 線(xiàn)程的身份標(biāo)識(shí)

第7章 線(xiàn)程的調(diào)度、優(yōu)先級(jí)和親緣性

7.1 掛起和恢復(fù)線(xiàn)程的運(yùn)行

7.2 進(jìn)程的掛起和喚醒

7.3 睡眠

7.4 線(xiàn)程切換

7.5 線(xiàn)程的運(yùn)行時(shí)間

7.6 上下文環(huán)境切換

7.7 線(xiàn)程優(yōu)先級(jí)

7.8 優(yōu)先級(jí)的抽象說(shuō)明

7.9 編程優(yōu)先級(jí)

7.9.1 動(dòng)態(tài)提高線(xiàn)程的優(yōu)先級(jí)等級(jí)

7.9.2 為前臺(tái)進(jìn)程調(diào)整調(diào)度程序

7.9.3 Scheduling Lab示例應(yīng)用程序

7.10 親緣性

第8章 用戶(hù)模式下的線(xiàn)程同步

8.1 原子訪(fǎng)問(wèn):互鎖函數(shù)族

8.2 高速緩存行

8.3 高級(jí)線(xiàn)程同步

8.4臨界區(qū)

8.4.1臨界區(qū)準(zhǔn)確的描述

8.4.2臨界區(qū)與循環(huán)鎖

8.4.3臨界區(qū)與錯(cuò)誤處理

8.4.4 有用的提示和技巧

第9章 線(xiàn)程與內(nèi)核對(duì)象的同步

9.1等待函數(shù)

9.2 成功等待的副作用

9.3 事件內(nèi)核對(duì)象

9.4 等待定時(shí)器內(nèi)核對(duì)象

9.4.1 用等待定時(shí)器給APC項(xiàng)排隊(duì)

9.4.2定時(shí)器的松散特性

9.5信號(hào)量?jī)?nèi)核對(duì)象

9.6 互斥內(nèi)核對(duì)象

9.6.1 釋放問(wèn)題

9.6.2互斥對(duì)象與臨界區(qū)的比較

9.6.3 Queue應(yīng)用程序示例

9.7線(xiàn)程同步對(duì)象表

9.8 其他線(xiàn)程同步函數(shù)

9.8.1 異步設(shè)備I/O

9.8.2WaitForInputIdle

9.8.3 MsgWaitForMultipleObjects(Ex)

9.8.4 WaitForDebugEvent

9.8.5SignalObjectAndWait

第10章線(xiàn)程同步工具包

10.1臨界區(qū)的實(shí)現(xiàn):Optex

10.2 創(chuàng)建線(xiàn)程安全的數(shù)據(jù)類(lèi)型和反信號(hào)量

10.3 單寫(xiě)入多讀出程序的保護(hù)

10.4 WaitForMultipleExpressions函數(shù)的實(shí)現(xiàn)

第11章線(xiàn)程池

11.1 場(chǎng)景1:異步調(diào)用函數(shù)

11.2 場(chǎng)景2:按規(guī)定的時(shí)間間隔調(diào)用函數(shù)

11.3 場(chǎng)景3:在某個(gè)內(nèi)核對(duì)象變?yōu)橐淹ㄖ獱顟B(tài)時(shí)調(diào)用函數(shù)

11.4 場(chǎng)景4:異步I/O請(qǐng)求運(yùn)行完成時(shí)調(diào)用函數(shù)

第12章纖程

12.1 使用纖程

12.2 Counter示例應(yīng)用程序

第三部分內(nèi)存管理

第13章 Windows內(nèi)存結(jié)構(gòu)

13.1 進(jìn)程的虛擬地址空間

13.2 虛擬地址空間分區(qū)

13.2.1 無(wú)效斷點(diǎn)分配分區(qū)(適于Windows 2000和Windows 98)

13.2.2MS-DOS/16位Windows應(yīng)用程序兼容分區(qū)(僅適于Windows 98)

13.2.3 用戶(hù)模式分區(qū)(適用Windows 2000和Windows 98)

13.2.4 64KB禁止進(jìn)入分區(qū)(僅適用于Windows 2000)

13.2.5 共享的MMF分區(qū)(僅適用于Windows 98)

13.2.6 內(nèi)核模式分區(qū)(使用于Windows 2000和Windows 98)

13.3地址空間區(qū)域

13.4 在地址空間區(qū)域中提交物理存儲(chǔ)器

13.5 物理存儲(chǔ)器和頁(yè)面文件

13.6 保護(hù)屬性

13.6.1 Copy-On-Write訪(fǎng)問(wèn)

13.6.2 特殊訪(fǎng)問(wèn)保護(hù)屬性標(biāo)志

13.7 綜合使用所有元素

13.7.1 區(qū)域的內(nèi)部詳情

13.7.2 Windows 98上地址空間的差異

13.8 數(shù)據(jù)對(duì)齊的重要性

第14章虛擬內(nèi)存

14.1系統(tǒng)信息

14.2虛擬內(nèi)存的狀態(tài)

14.3 確定地址空間狀態(tài)

14.3.1 VMQery函數(shù)

14.3.2虛擬內(nèi)存表應(yīng)用程序示例

第15章應(yīng)用程序中虛擬內(nèi)存的使用

15.1地址空間中保留區(qū)域

15.2 在保留區(qū)域中提交存儲(chǔ)器

15.3 同時(shí)進(jìn)行保留區(qū)域并提交內(nèi)存

15.4 何時(shí)提交物理存儲(chǔ)器

15.5 物理存儲(chǔ)器的回收和地址空間區(qū)域的釋放

15.5.1 何時(shí)回收物理存儲(chǔ)器

15.5.2虛擬內(nèi)存分配示例應(yīng)用程序

15.6 改變保護(hù)屬性

15.7 清除物理存儲(chǔ)器內(nèi)容

15.8 地址窗口擴(kuò)展(僅使用于Windows 2000)

第16章 線(xiàn)程棧

16.1 Windows 98下的線(xiàn)程棧

16.2 C/C++運(yùn)行時(shí)庫(kù)中的棧檢測(cè)函數(shù)

16.3 Summation示例應(yīng)用程序

第17章內(nèi)存映射文件

17.1 內(nèi)存映射的可執(zhí)行文件和DLL文件

17.1.1可執(zhí)行文件或DLL的多個(gè)實(shí)例之間無(wú)法共享的靜態(tài)數(shù)據(jù)

17.1.2 在可執(zhí)行文件或DLL的多個(gè)實(shí)例之間共享靜態(tài)數(shù)據(jù)

17.1.3 AppInst示例應(yīng)用程序

17.2 內(nèi)存映射數(shù)據(jù)文件

17.2.1 方法1:一個(gè)文件,一個(gè)緩存

17.2.2 方法2:兩個(gè)文件,一個(gè)緩存

17.2.3 方法3:一個(gè)文件,兩個(gè)緩存

17.2.4 方法4:一個(gè)文件,零個(gè)緩存

17.3 使用內(nèi)存映射文件

17.3.1 步驟1:創(chuàng)建或打開(kāi)文件內(nèi)核對(duì)象

17.3.2 步驟2:創(chuàng)建文件映射內(nèi)核對(duì)象

17.3.3 步驟3:將文件數(shù)據(jù)映射到進(jìn)程地址空間

17.3.4 步驟4:進(jìn)程地址空間中撤銷(xiāo)文件數(shù)據(jù)的映像

17.3.5 步驟5和步驟6:關(guān)閉文件映射對(duì)象和文件對(duì)象

17.3.6 文件倒序示例應(yīng)用程序

17.4 使用內(nèi)存映射文件處理大文件

17.5內(nèi)存映射文件的一致性

17.6 設(shè)定內(nèi)存映射文件的基地址

17.7 實(shí)現(xiàn)內(nèi)存映射文件的具體細(xì)節(jié)

17.8 使用內(nèi)存映射文件在進(jìn)程之間實(shí)現(xiàn)數(shù)據(jù)共享

17.9 受頁(yè)面文件支持的內(nèi)存映射文件

17.10 稀疏提交的內(nèi)存映射文件

第18章 堆

18.1 進(jìn)程的默認(rèn)堆

18.2 創(chuàng)建輔助堆的原因

18.2.1 保護(hù)組件

18.2.2 更有效地管理內(nèi)存

18.2.3 進(jìn)行本地訪(fǎng)問(wèn)

18.2.4 減少線(xiàn)程同步開(kāi)銷(xiāo)

18.2.5 快速釋放

18.3 創(chuàng)建輔助堆的方法

18.3.1 分配堆中的內(nèi)存塊

18.3.2 改變內(nèi)存塊的大小

18.3.3 獲取內(nèi)存塊的大小

18.3.4 釋放內(nèi)存塊

18.3.5 銷(xiāo)毀堆

18.3.6 用C++程序使用堆

18.4 其他堆函數(shù)

第四部分動(dòng)態(tài)鏈接庫(kù)

第19章 DLL基礎(chǔ)

19.1 DLL與進(jìn)程的地址空間

19.2 DLL的總體運(yùn)行情況

19.3 創(chuàng)建DLL模塊

19.3.1 導(dǎo)出的真正含義

19.3.2 使用非Visual C++工具創(chuàng)建DLL

19.4 創(chuàng)建可執(zhí)行模塊

19.5 運(yùn)行可執(zhí)行模塊

第20章 DLL高級(jí)技術(shù)

20.1 顯式加載DLL模塊和符號(hào)鏈接

20.1.1 顯式加載DLL模塊

20.1.2 顯式卸載DLL模塊

20.1.3 顯式鏈接到導(dǎo)出符號(hào)

20.2 DLL的入口函數(shù)

20.2.1 DLL_PROCESS_ATTACH通知

20.2.2 DLL_PROCESS_DETACH通知

20.2.3 DLL_THREAD_ATTACH通知

20.2.4 DLL_THREAD_DETACH通知

20.2.5順序調(diào)用DllMain

20.2.6 DllMain和C/C++運(yùn)行時(shí)庫(kù)

20.3延遲加載DLL

20.4 函數(shù)轉(zhuǎn)發(fā)器

20.5 已知的DLL

20.6 DLL重定向

20.7 模塊的基址重置

20.8 綁定模塊

第21章 線(xiàn)程本地存儲(chǔ)

21.1 動(dòng)態(tài)TLS

21.2 靜態(tài)TLS

第22章 DLL注入以及API掛接

22.1 DLL注入:一個(gè)例子

22.2 使用注冊(cè)表注入DLL

22.3 使用Windows鉤子注入DLL

22.4 使用遠(yuǎn)程線(xiàn)程注入DLL

22.4.1 Inject Library示例應(yīng)用程序

22.4.2 Image Walk DLL

22.5 使用特洛伊DLL注入DLL

22.6 將DLL作為調(diào)試程序注入

22.7 在Windows 98平臺(tái)上使用內(nèi)存映射文件注入代碼

22.8 使用CreateProcess來(lái)注入代碼

22.9 API掛接:一個(gè)例子

22.9.1 通過(guò)覆寫(xiě)代碼實(shí)現(xiàn)API掛接

22.9.2 通過(guò)操作模塊的導(dǎo)入部分來(lái)實(shí)現(xiàn)API掛接

22.9.3 LastMsgBoxInfo示例應(yīng)用程序

第五部分結(jié)構(gòu)化異常處理

第23章 終止處理例程

23.1 Funcenstein1

23.2 Funcenstein2

23.3 Funcenstein3

23.4 Funcfurter1

23.5 小測(cè)驗(yàn):FuncaDoodleDoo

23.6 Funcenstein4

23.7 Funcarama1

23.8 Funcarama2

23.9 Funcarama3

23.10 Funcarama4:最終的邊界

23.11 有關(guān)finally塊的說(shuō)明

23.12 Funcfurter2

23.13 SEH終止示例應(yīng)用程序

第24章 異常處理程序和軟件異常

24.1 通過(guò)例子理解異常過(guò)濾器和異常處理程序

24.1.1 Funcmeister1

24.1.2 Funcmeister2

24.2 EXCEPTION_EXECUTE_HANDLER

24.2.1 一些有用的例子

24.2.2 全局展開(kāi)

24.2.3 暫停全局展開(kāi)

24.3 EXCEPTION_CONTINUE_EXECUTION

24.4 EXCEPTION_CONTINUE_SEARCH

24.5GetExceptionCode

24.5.1 與內(nèi)存相關(guān)的異常

24.5.2 與異常相關(guān)的異常

24.5.3 與調(diào)試相關(guān)的異常

24.5.4 與整數(shù)相關(guān)的異常

24.5.5 與浮點(diǎn)數(shù)相關(guān)的異常

24.6 GetExceptionInformation

24.7軟件異常

第25章 未處理異常和C++異常

25.1 即時(shí)調(diào)試

25.2 關(guān)閉異常消息框

25.2.1 強(qiáng)制進(jìn)程終止運(yùn)行

25.2.2 包裝一個(gè)線(xiàn)程函數(shù)

25.2.3 包裝所有的線(xiàn)程函數(shù)

25.2.4 自動(dòng)調(diào)用調(diào)試器

25.3 自己調(diào)用UnhandledExceptionFilter

25.4 UnhandledExceptionFilter函數(shù)的內(nèi)部細(xì)節(jié)

25.5 異常和調(diào)試程序

25.6 C++異常與結(jié)構(gòu)化異常比較

第六部分 窗口

第26章 窗口消息

26.1 線(xiàn)程的消息隊(duì)列

26.2 將消息投送到一個(gè)線(xiàn)程的消息隊(duì)列中

26.3 向窗口發(fā)送消息

26.4 喚醒一個(gè)線(xiàn)程

26.4.1 隊(duì)列狀態(tài)標(biāo)志

26.4.2 從線(xiàn)程隊(duì)列中提取消息的算法

26.4.3 使用內(nèi)核對(duì)象或者隊(duì)列狀態(tài)標(biāo)志來(lái)喚醒一個(gè)線(xiàn)程

26.5 使用消息發(fā)送數(shù)據(jù)

26.6 Windows處理ANSI/Unicode字符和字符串的方法

第27章 硬件輸入模型與本地輸入狀態(tài)

27.1 原始輸入線(xiàn)程

27.2 本地輸入狀態(tài)

27.2.1 鍵盤(pán)輸入和焦點(diǎn)

27.2.2 鼠標(biāo)光標(biāo)管理

27.3 將虛擬輸入隊(duì)列和本地輸入狀態(tài)相關(guān)聯(lián)

27.3.1 LISLab示例應(yīng)用程序

27.3.2 LISWatch示例應(yīng)用程序

附錄

附錄A 構(gòu)建環(huán)境

附錄B 消息解析器、子控件宏以及API宏