API應(yīng)用程序編程接口詳解_第1頁
API應(yīng)用程序編程接口詳解_第2頁
API應(yīng)用程序編程接口詳解_第3頁
API應(yīng)用程序編程接口詳解_第4頁
API應(yīng)用程序編程接口詳解_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、API應(yīng)用程序編程接口API(ApplicationProgrammingInterface,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù),目的是提供應(yīng)用程序與開發(fā)人員基于某軟件或硬件的以訪問一組例程的能力,而又無需訪問源碼,或理解內(nèi)部工作機(jī)制的細(xì)節(jié)。API除了有應(yīng)用“應(yīng)用程序接口”的意思外,還特指API的說明文檔,也稱為幫助文檔。另外,也是美國石油協(xié)會、空氣污染指數(shù)、醫(yī)藥、空中位置指示器的英文簡稱。WindowsAPI是一套用來控制Windows的各個(gè)部件(從桌面的外觀到為一個(gè)新進(jìn)程分配的內(nèi)存)的外觀和行為的一套預(yù)先定義的Windows函數(shù).用戶的每個(gè)動作都會引發(fā)一個(gè)或幾個(gè)函數(shù)的運(yùn)行以告訴Wind

2、ows發(fā)生了什么.這在某種程度上很象Windows的天然代碼.其他的語言只是提供一種能自動而且更容易的訪問API的方法.VB在這方面作了很多工作它完全隱藏了API并且提供了在Windows環(huán)境下編程的一種完全不同的方法.這也就是說,你用VB寫出的每行代碼都會被VB轉(zhuǎn)換為API函數(shù)傳遞給Windows.例如,Form1.Print.VB將會以一定的參數(shù)(你的代碼中提供的,或是默認(rèn)參數(shù))調(diào)用TextOut這個(gè)API函數(shù)。同樣,當(dāng)你點(diǎn)擊窗體上的一個(gè)按鈕時(shí),Windows會發(fā)送一個(gè)消息給窗體(這對于你來說是隱藏的),VB獲取這個(gè)調(diào)用并經(jīng)過分析后生成一個(gè)特定事件(Button_Click).API函數(shù)包

3、含在Windows系統(tǒng)目錄下的動態(tài)連接庫文件中(如User32.dll,GDI32.dll,Shell32.dll).更易理解地說:Windows這個(gè)多作業(yè)系統(tǒng)除了協(xié)調(diào)應(yīng)用程式的執(zhí)行、分配內(nèi)存、管理系統(tǒng)資源之外,她同時(shí)也是一個(gè)很大的服務(wù)中心,調(diào)用這個(gè)服務(wù)中心的各種服務(wù)(每一種服務(wù)就是一個(gè)函數(shù)),可以幫應(yīng)用程式達(dá)到開啟視窗、描繪圖形、使用周邊設(shè)備等目的,由於這些函數(shù)服務(wù)的對象是應(yīng)用程式(Application),所以便稱之為ApplicationProgrammingInterface,簡稱API函數(shù)。WIN32API也就是MicrosoftWindows32位平臺的應(yīng)用程序編程接口。凡是在Wi

4、ndows工作環(huán)境底下執(zhí)行的應(yīng)用程式,都可以調(diào)用WindowsAPI。API的歷史與現(xiàn)狀當(dāng)WINDOWS操作系統(tǒng)開始占據(jù)主導(dǎo)地位的時(shí)候,開發(fā)WINDOWS平臺下的應(yīng)用程序成為人們的需要。而在WINDOWS程序設(shè)計(jì)領(lǐng)域處于發(fā)展的初期,WINDOWS程序員所能使用的編程工具唯有API函數(shù),這些函數(shù)是WINDOWS提供給應(yīng)用程序與操作系統(tǒng)的接口,他們猶如“積木塊”一樣,可以搭建出各種界面豐富,功能靈活的應(yīng)用程序。所以可以認(rèn)為API函數(shù)是構(gòu)筑整個(gè)WINDOWS框架的基石,在它的下面是WINDOWS的操作系統(tǒng)核心,而它的上面則是所有的華麗的WINDOWS應(yīng)用程序。但是,沒有合適的Windows編程平臺,

5、程序員想編寫具有Windows風(fēng)格的軟件,必須借助API,API也因此被賦予至高無上的地位。那時(shí)的WINDOWS程序開發(fā)還是比較復(fù)雜的工作,程序員必須熟記一大堆常用的API函數(shù),而且還得對WINDOWS操作系統(tǒng)有深入的了解。然而隨著軟件技術(shù)的不斷發(fā)展,在WINDOWS平臺上出現(xiàn)了很多優(yōu)秀的可視化編程環(huán)境,程序員可以采用“即見即所得”的編程方式來開發(fā)具有精美用戶界面和功能強(qiáng)大的應(yīng)用程序。這些優(yōu)秀可視化編程環(huán)境操作簡單、界面友好(諸如VB、VC+、DELPHI等),在這些工具中提供了大量的類庫和各種控件,它們替代了API的神秘功能,事實(shí)上這些類庫和控件都是構(gòu)架在WIN32API函數(shù)基礎(chǔ)之上的,是封

6、裝了的API函數(shù)的集合。它們把常用的API函數(shù)的組合在一起成為一個(gè)控件或類庫并賦予其方便的使用方法,所以極大的加速了WINDOWS應(yīng)用程序開發(fā)的過程。有了這些控件和類庫,程序員便可以把主要精力放在程序整體功能的設(shè)計(jì)上,而不必過于關(guān)注技術(shù)細(xì)節(jié)。實(shí)際上如果我們要開發(fā)出更靈活、更實(shí)用、更具效率的應(yīng)用程序,必然要涉及到直接使用API函數(shù),雖然類庫和控件使應(yīng)用程序的開發(fā)簡單的多,但它們只提供WINDOWS的一般功能,對于比較復(fù)雜和特殊的功能來說,使用類庫和控件是非常難以實(shí)現(xiàn)的,這時(shí)就需要采用API函數(shù)來實(shí)現(xiàn)。API聲明正如在什么是API中所說,API函數(shù)包含在位于系統(tǒng)目錄下的DLL文件中你可以自己輸入A

7、PI函數(shù)的聲明,但VB提供了一種更簡單的方法,即使用APITextViewer.要想在你的工程中聲明API函數(shù),只需運(yùn)行APITextViewer,打開Win32api.txt(或.MDB如果你已經(jīng)把它轉(zhuǎn)換成了數(shù)據(jù)庫的話,這樣可以加快速度.注:微軟的這個(gè)文件有很多的不足,你可以試一下本站提供下載的api32.txt),選擇聲明,找到所需函數(shù),點(diǎn)擊添加(Add)并復(fù)制(Copy),然后粘貼(Paste)到你的工程里.使用預(yù)定義的常量和類型也是同樣的方法.API除了有應(yīng)用“應(yīng)用程序接口”的意思外還特指API的說明文檔也稱為幫助文檔。你將會遇到一些問題:假設(shè)你想在你的窗體模塊中聲明一個(gè)函數(shù)粘貼然后運(yùn)

8、行,VB會告訴你:編譯錯(cuò)誤.Declare語句不允許作為類或?qū)ο竽K中的Public成員.看起來很糟糕,其實(shí)你需要做的只是在聲明前面添加一個(gè)Private(如PrivateDeclareFunction.).-不要忘了,可是這將使該函數(shù)只在該窗體模塊可用.在有些情況下,你會得到不明確的名稱這樣的提示,這是因?yàn)楹瘮?shù).常量或其他的什么東西共用了一個(gè)名稱.由于絕大多數(shù)的函數(shù)(也可能是全部,我沒有驗(yàn)證過)都進(jìn)行了別名化,亦即意味著你可以通過Alias子句使用其它的而不是他們原有的名稱,你只需簡單地改變一下函數(shù)名稱而它仍然可以正常運(yùn)行.API分為四種類型:遠(yuǎn)程過程調(diào)用(RPC):通過作用在共享數(shù)據(jù)緩存器

9、上的過程(或任務(wù))實(shí)現(xiàn)程序間的通信。標(biāo)準(zhǔn)查詢語言(SQL):是標(biāo)準(zhǔn)的訪問數(shù)據(jù)的查詢語言,通過通用數(shù)據(jù)庫實(shí)現(xiàn)應(yīng)用程序間的數(shù)據(jù)共享。文件傳輸:文件傳輸通過發(fā)送格式化文件實(shí)現(xiàn)應(yīng)用程序間數(shù)據(jù)共享。信息交付:指松耦合或緊耦合應(yīng)用程序間的小型格式化信息,通過程序間的直接通信實(shí)現(xiàn)數(shù)據(jù)共享。當(dāng)前應(yīng)用于API的標(biāo)準(zhǔn)包括ANSI標(biāo)準(zhǔn)SQLAP。另外還有一些應(yīng)用于其它類型的標(biāo)準(zhǔn)尚在制定之中。API可以應(yīng)用于所有計(jì)算機(jī)平臺和操作系統(tǒng)。這些API以不同的格式連接數(shù)據(jù)(如共享數(shù)據(jù)緩存器、數(shù)據(jù)庫結(jié)構(gòu)、文件框架)。每種數(shù)據(jù)格式要求以不同的數(shù)據(jù)命令和參數(shù)實(shí)現(xiàn)正確的數(shù)據(jù)通信,但同時(shí)也會產(chǎn)生不同類型的錯(cuò)誤。因此,除了具備執(zhí)行數(shù)據(jù)共享任務(wù)所需的知識以外,這些類型的API還必須解決很多網(wǎng)絡(luò)參數(shù)問題和可能的差錯(cuò)條件,即每個(gè)應(yīng)用程序都必須清楚自身是否有強(qiáng)大的性能支持程序間通信。相反由于這種API只處理一種信息格式,所以該情形下的信息交付API只提供較小的命令、網(wǎng)絡(luò)參數(shù)以及差錯(cuò)條件子集。正因?yàn)槿绱?,交付API方式大大降低了系統(tǒng)復(fù)雜性,所以當(dāng)應(yīng)用程序需要通過多個(gè)平臺實(shí)現(xiàn)數(shù)據(jù)共享時(shí),采用信息交付API類型是比較理想的選擇。力P/與圖形用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論