資料介紹
如題
本書介紹了在Microsoft Windows 98、Microsoft Windows NT 4.0和Windows NT 5.0下程序?qū)懽鞯姆椒?。這些程序用C語(yǔ)言編寫并使用原始的Windows Application Programming Interface(API)。如在本章稍后所討論的,這不是寫作Windows程序的唯一方法。然而,無(wú)論最終您使用什么方式寫作程序,了解Windows API都是非常重要的。正如您可能知道的,Windows 98已成為使用Intel 32位微處理器(例如486和Pentium)的IBM兼容型個(gè)人計(jì)算機(jī)環(huán)境上最新的圖形操作系統(tǒng)之代表。Windows NT是IBM PC兼容機(jī)種以及一些RISC(精簡(jiǎn)指令集計(jì)算機(jī))工作站上使用的Windows工業(yè)增強(qiáng)型版本。
使用本書有三個(gè)先決條件。
首先,您應(yīng)該從使用者的角度熟悉Windows 98。不要期望可以在不了解Windows使用者接口的情形下開發(fā)其應(yīng)用程序。因此,我建議您在開發(fā)程序(或在進(jìn)行其它工作)時(shí)使用執(zhí)行Windows的機(jī)器來(lái)跑Windows應(yīng)用程序。
第二,您應(yīng)了解C語(yǔ)言。如果要寫Windows程序,一開始卻不想了解C語(yǔ)言,那不是一個(gè)好主意。我建議您在文字控制臺(tái)環(huán)境中,例如在Windows 98 MS-DOS命令提示窗口下提供的環(huán)境中學(xué)習(xí)C語(yǔ)言。Windows程序設(shè)計(jì)有時(shí)包括一些非文字模式程序設(shè)計(jì)的C語(yǔ)言部分;在這些情況下,我將針對(duì)這些問(wèn)題提供討論。但大多數(shù)情況下,您應(yīng)非常熟悉該語(yǔ)言,特別是C語(yǔ)言的結(jié)構(gòu)和指針。了解標(biāo)準(zhǔn)C語(yǔ)言執(zhí)行期鏈接庫(kù)的一些相關(guān)知識(shí)是有幫助的,但不是必要的。
第三,您應(yīng)該在機(jī)器上安裝一個(gè)適于進(jìn)行Windows程序設(shè)計(jì)的32位C語(yǔ)言編譯器和開發(fā)環(huán)境。在本書中,假定您正在使用Microsoft Visual C++ 6.0,該軟件包可獨(dú)立購(gòu)買,也可作為Visual Studio 6.0軟件包的一部分購(gòu)買。到此為止,我將不再假設(shè)您具有任何圖形使用者接口(如Windows)的程序?qū)懽鹘?jīng)驗(yàn)。 WINDOWS環(huán)境 Windows幾乎不需要介紹。然而人們很容易忘記Windows給辦公室和家庭桌上型計(jì)算機(jī)所帶來(lái)的重大改變。Windows在其早期曾經(jīng)走過(guò)一段坎坷的道路,征服桌上型計(jì)算機(jī)市場(chǎng)的前途一度相當(dāng)渺茫。
開始
Windows上執(zhí)行的程序可共享在稱為「動(dòng)態(tài)鏈接庫(kù)」的文件中的例程。Windows包括一個(gè)機(jī)制,能夠在執(zhí)行時(shí)連結(jié)使用動(dòng)態(tài)鏈接庫(kù)中例程的程序。Windows自身基本上就是一個(gè)動(dòng)態(tài)鏈接庫(kù)的集合。 Windows是一個(gè)圖形接口,Windows程序能夠在視訊顯示器和打印機(jī)上充分利用圖形和格式化文字。圖形接口不僅在外觀上更有吸引力,而且還能夠讓使用者傳遞高層次的信息。 Windows應(yīng)用程序不能直接存取屏幕和打印機(jī)等圖形顯示設(shè)備硬件。相反,Windows提供一種圖形程序語(yǔ)言(稱作圖形設(shè)備接口,或者GDI),使顯示圖形和格式化文字更容易。Windows虛擬化了顯示硬件,使為Windows編寫的程序可使用任何具有Windows設(shè)備驅(qū)動(dòng)程序的視頻卡或打印機(jī),而程序無(wú)需確定系統(tǒng)相連的設(shè)備類型。對(duì)Windows開發(fā)者來(lái)說(shuō),將與設(shè)備無(wú)關(guān)的圖形接口輸出到IBM PC上不是件輕松的事。PC的設(shè)計(jì)是基于開放式架構(gòu)的原則,鼓勵(lì)第三方硬件制造商為PC開發(fā)接口設(shè)備,而且開發(fā)了大量這樣的設(shè)備。雖然出現(xiàn)了多種標(biāo)準(zhǔn),PC上的傳統(tǒng)MS-DOS程序仍不得不各自支持許多不同的硬設(shè)備。這對(duì)MSDOS字處理軟件來(lái)說(shuō)非常普遍,它們連同1到2張有許多小文件的磁盤一同銷售,每個(gè)文件支持一種特定的打印機(jī)。Windows程序不要求每個(gè)應(yīng)用程序都自行開發(fā)這些驅(qū)動(dòng)程序,因?yàn)檫@種支持是Windows的一部分。
動(dòng)態(tài)鏈接 Windows運(yùn)作機(jī)制的核心是一個(gè)稱作「動(dòng)態(tài)鏈接」的概念。Windows提供了應(yīng)用程序豐富的可呼叫函數(shù),大多數(shù)用于實(shí)作其使用者接口和在視訊顯示器上顯示文字和圖形。這些函數(shù)采用動(dòng)態(tài)鏈接庫(kù)(Dynamic Linking Library,DLL)的方式撰寫。這些動(dòng)態(tài)鏈接庫(kù)是些具有.DLL或者有時(shí)是.EXE擴(kuò)展名的文件,在Windows 98中通常位于\WINDOWS\SYSTEM子目錄中,在Windows NT中通常位于\WINNT\SYSTEM和\WINNT\SYSTEM32子目錄中。在早期,Windows的主要部分僅通過(guò)三個(gè)動(dòng)態(tài)鏈接庫(kù)實(shí)作。這代表了Windows的三個(gè)主要子系統(tǒng),它們被稱作Kernel、User和GDI。當(dāng)子系統(tǒng)的數(shù)目在Windows最近版本中增多時(shí),大多數(shù)典型的Windows程序產(chǎn)生的函數(shù)呼叫仍對(duì)應(yīng)到這三個(gè)模塊之一。Kernel(日前由16位的KRNL386.EXE和32位的KERNEL32.DLL實(shí)現(xiàn))處理所有在傳統(tǒng)上由操作系統(tǒng)核心處理的事務(wù)-內(nèi)存管理、文件I/O和多任務(wù)管理。User(由16位的USER.EXE和32位的USER32.DLL實(shí)作)指使用者接口,實(shí)作所有窗口運(yùn)作機(jī)制。GDI(由16位的GDI.EXE和32位的GDI32.DLL實(shí)作)是一個(gè)圖形設(shè)備接口,允許程序在屏幕和打印機(jī)上顯示文字和圖形。 Windows 98支持應(yīng)用程序可使用的上千種函數(shù)呼叫。每個(gè)函數(shù)都有一個(gè)描述名稱,例如CreateWindow。該函數(shù)(如您所猜想的)為程序建立新窗口。所有應(yīng)用程序可以使用的Windows函數(shù)都在表頭文件里預(yù)先聲明過(guò)。在Windows程序中,使用Windows函數(shù)的方式通常與使用如strlen等C語(yǔ)言鏈接庫(kù)函數(shù)的方式相同。主要的區(qū)別在于C語(yǔ)言鏈接庫(kù)函數(shù)的機(jī)械碼連結(jié)到您的程序代碼中,而Windows函數(shù)的程序代碼在您程序執(zhí)行文件外的DLL中。當(dāng)您執(zhí)行Windows程序時(shí),它通過(guò)一個(gè)稱作「動(dòng)態(tài)鏈接」的過(guò)程與Windows相接。一個(gè)Windows的.EXE文件中有使用到的不同動(dòng)態(tài)鏈接庫(kù)的參考數(shù)據(jù),所使用的函數(shù)即在那些動(dòng)態(tài)鏈接庫(kù)中。當(dāng)Windows程序被加載到內(nèi)存中時(shí),程序中的呼叫被指向DLL函數(shù)的入口。如果該DLL不在內(nèi)存中,就把它加載到內(nèi)存中。當(dāng)您連結(jié)Windows程序以產(chǎn)生一個(gè)可執(zhí)行文件時(shí),您必須連結(jié)程序開發(fā)環(huán)境提供的特定「引用鏈接庫(kù)(import library)」。這些引用鏈接庫(kù)包含了動(dòng)態(tài)鏈接庫(kù)名稱和所有Windows函數(shù)呼叫的引用信息。連結(jié)程序使用該信息在.EXE文件中建立一個(gè)表格,在加載程序時(shí),Windows使用它將呼叫轉(zhuǎn)換為Windows函數(shù)。
- Java編程思想(第五版) 0次下載
- 電機(jī)學(xué)第五版電子書 0次下載
- 機(jī)械設(shè)計(jì)基礎(chǔ)答案(第五版)第13章 0次下載
- 機(jī)械設(shè)計(jì)基礎(chǔ)答案(第五版)第17章 0次下載
- 機(jī)械設(shè)計(jì)基礎(chǔ)答案(第五版)第9章 0次下載
- 機(jī)械設(shè)計(jì)基礎(chǔ)答案(第五版)第15章 0次下載
- 機(jī)械設(shè)計(jì)基礎(chǔ)答案(第五版)第12章 0次下載
- 微機(jī)原理--微機(jī)原理及應(yīng)用(第五版) 0次下載
- 電路第五版課后答案 0次下載
- 數(shù)字電子技術(shù)基礎(chǔ)_閻石第五版 0次下載
- 第五版鎖相環(huán)設(shè)計(jì)、仿真與應(yīng)用(中文版) 0次下載
- 康華光-電子技術(shù)基礎(chǔ)_模擬部分(第五版)課后答案(完整版) 0次下載
- [計(jì)算機(jī)網(wǎng)絡(luò)第五版]計(jì)算機(jī)網(wǎng)絡(luò)第五版 0次下載
- [計(jì)算機(jī)網(wǎng)絡(luò)第五版]計(jì)算機(jī)網(wǎng)絡(luò)第五版 0次下載
- Java程序設(shè)計(jì)教程(第五版)源代碼 0次下載
- 為何程序下載時(shí)搜索不到CPU? 1044次閱讀
- PLC程序設(shè)計(jì)常用方法總結(jié) 5402次閱讀
- 淺談項(xiàng)目中的程序設(shè)計(jì)思路與步驟 1338次閱讀
- 解析PLC梯形圖程序設(shè)計(jì) 1609次閱讀
- RTOS應(yīng)用程序設(shè)計(jì)的五個(gè)實(shí)戰(zhàn)技巧 1118次閱讀
- 如何使用NSIS創(chuàng)建Windows安裝程序 4216次閱讀
- 做一個(gè)STM32小車很簡(jiǎn)單嗎 1418次閱讀
- wifi技術(shù)標(biāo)準(zhǔn)第四代第五代區(qū)別 3.8w次閱讀
- 如何利用邏輯設(shè)計(jì)法進(jìn)行PLC的程序設(shè)計(jì) 4017次閱讀
- 介紹MATLAB程序設(shè)計(jì)中M程序及使用方法 7018次閱讀
- windows和Linux程序員到底有沒(méi)有區(qū)別? 1w次閱讀
- dsp28335如何入門:程序設(shè)計(jì)步驟 1.9w次閱讀
- 由傳統(tǒng)電工圖轉(zhuǎn)換為階梯圖的過(guò)程,淺談程序設(shè)計(jì) 5557次閱讀
- 單片機(jī)與程序設(shè)計(jì)(下) 2919次閱讀
- 焊接機(jī)理完整版 3956次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1490次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7藍(lán)牙設(shè)備在嵌入式領(lǐng)域的廣泛應(yīng)用
- 0.63 MB | 3次下載 | 免費(fèi)
- 89天練會(huì)電子電路識(shí)圖
- 5.91 MB | 3次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論