大家可能在许多书上看到过api的英文全称(Application Programming
Interface),WIN32 api也就是Microsoftwindows 32位平台的应用程序编程接口
。对这个定义的理解,需要追溯到操作系统的发展历史上,当windows操作
系统开始占据主导地位的时候,开发windows平台下的应用程序成为人们的
需要。而在windows程序设计领域处于发展的初期,windows程序员所能使用
的编程工具唯有api函数,这些函数是windows提供给应用程序与操作系统的
接口,他们犹如“积木块”一样,可以搭建出各种界面丰富,功能灵活的
应用程序。所以可以认为api函数是构筑整个windows框架的基石,在它的下
面是windows的操作系统核心,而它的上面则是所有的华丽的windows应用程
序。
但是,那时的windows程序开发还是比较复杂的工作,程序员必须熟记一大
堆常用的API函数,而且还得对WINDOWS操作系统有深入的了解。然而随
着软件技术的不断发展,在WINDOWS平台上出现了很多优秀的可视化编程
环境,程序员可以采用“即见即所得”的编程方式来开发具有精美用户界
面和功能强大的应用程序。
这些优秀可视化编程环境操作简单、界面友好(诸如vb、vc 、
delphi等),在这些工具中提供了大量的类库和各种控件,它们替代了API
的神秘功能,事实上这些类库和控件都是构架在WIN32 API函数基础之上的
,是封装了的API函数的集合。它们把常用的API函数的组合在一起成为一
个控件或类库,并赋予其方便的使用方法,所以极大的加速了WINDOWS应
用程序开发的过程。有了这些控件和类库,程序员便可以把主要精力放在
程序整体功能的设计上,而不必过于关注技术细节。
实际上如果我们要开发出更灵活、更实用、更具效率的应用程序,必然
要涉及到直接使用API函数,虽然类库和控件使应用程序的开发简单的多,
但它们只提供WINDOWS的一般功能,对于比较复杂和特殊的功能来说,使
用类库和控件是非常难以实现的,这时就需要采用API函数来实现。
这也是API函数使用的场合,所以我们对待API函数不必刻来研究每一个
函数的用法,那也是不现实的(能用的到的API函数有几千个呢)。正如某位
大虾所说:API不要去学,在需要的时候去查API帮助就足够了。