什麼是Windows API?

iDotNetSpace發表於2008-09-11
1.什麼是Windows API?

   在應用程式中要完成某個功能,都是以函式呼叫的形式實現的,同樣,應用程式也是以函式呼叫的方式來通知作業系統執行相應的功能的。作業系統所能夠完成的每一個特殊功能通常都有一個函式與其對應,也就是說,作業系統把它所能夠完成的功能以函式的形式提供給應用程式使用,應用程式對這些函式的呼叫就叫做系統呼叫,這些函式的集合就是Windows作業系統提供給應用程式程式設計的介面(Application Programming Interface),簡稱Windows API。如CreateWindow就是一個API函式,應用程式中呼叫這個函式,作業系統就會按照該函式提供的引數資訊產生一個相應的視窗。

   Windows 這個多作業系統除了協調應用程式的執行、分配記憶體、管理系統資源…之外, 她同時也是一個很大的服務中心,呼叫這個服務中心的各種服務(每一種服務就是一個函式),可以幫應用程式達到開啟視窗、描繪圖形、使用周邊裝置…等目的,由於這些函式服務的物件是應用程式(Application), 所以便稱之為 Application Programming Interface,簡稱 API 函式。WIN32 API也就是MicrosoftWindows 32位平臺的應用程式程式設計介面。

  凡是在 Windows 工作環境底下執行的應用程式, 都可以呼叫Windows API。

  2.Windows API的歷史與現狀

  當WINDOWS作業系統開始佔據主導地位的時候,開發WINDOWS平臺下的應用程式成為人們的需要。而在WINDOWS程式設計領域處於發展的初期,WINDOWS程式設計師所能使用的程式設計工具唯有API函式,這些函式是WINDOWS提供給應用程式與作業系統的介面,他們猶如“積木塊”一樣,可以搭建出各種介面豐富,功能靈活的應用程式。所以可以認為API函式是構築整個WINDOWS框架的基石,在它的下面是WINDOWS的作業系統核心,而它的上面則是所有的華麗的WINDOWS應用程式。

  但是,沒有合適的Windows程式設計平臺,程式設計師想編寫具有Windows風格的軟體,必須藉助API,API也因此被賦予至高無上的地位。那時的WINDOWS程式開發還是比較複雜的工作,程式設計師必須熟記一大堆常用的API函式,而且還得對WINDOWS作業系統有深入的瞭解。然而隨著軟體技術的不斷髮展,在WINDOWS平臺上出現了很多優秀的視覺化程式設計環境,程式設計師可以採用“即見即所得”的程式設計方式來開發具有精美使用者介面和功能強大的應用程式。

  這些優秀視覺化程式設計環境操作簡單、介面友好(諸如VB、VC++、DELPHI等),在這些工具中提供了大量的類庫和各種控制元件,它們替代了API的神祕功能,事實上這些類庫和控制元件都是構架在WIN32 API函式基礎之上的,是封裝了的API函式的集合。它們把常用的API函式的組合在一起成為一個控制元件或類庫,並賦予其方便的使用方法,所以極大的加速了WINDOWS應用程式開發的過程。有了這些控制元件和類庫,程式設計師便可以把主要精力放在程式整體功能的設計上,而不必過於關注技術細節。

  實際上如果我們要開發出更靈活、更實用、更具效率的應用程式,必然要涉及到直接使用API函式,雖然類庫和控制元件使應用程式的開發簡單的多,但它們只提供WINDOWS的一般功能,對於比較複雜和特殊的功能來說,使用類庫和控制元件是非常難以實現的,這時就需要採用API函式來實現。

  這也是API函式使用的場合,所以我們對待API函式不必刻意去研究每一個函式的用法,那也是不現實的(能用得到的API函式有幾千個呢)。正如某位大蝦所說:API不要去學,在需要的時候去查API幫助就足夠了。但是,許多API函式令人難以理解,易於誤用,還會導致出錯,這一切都阻礙了它的推廣。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-444282/,如需轉載,請註明出處,否則將追究法律責任。

相關文章