API模式,什么是API

1,什么是APIAPI是系统的基石,是Windows的一砖一瓦 。明确一个概念,软件是运行在系统平台的支持上的,软件的功能其实就是向系统伸请 , 并由系统完成这些功能的过程 。那么软件要做的事情如何传递给系统呢,也就是这些API的作用了,系统定义了这些API函数,做为支持软件执行系统功能的接口 。不同的操作系统自然API会是不同的.Application Programming Interface是应用程序接口的意思http://www.yesky.com/20011026/202386.shtmlhttp://soft.yesky.com/lesson/vbapi/api(application programming interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力 , 而又无需访问源码,或理解内部工作机制的细节 。api除了有应用“应用程序接口”的意思外,还特指 api的说明文档,也称为帮助文档 。另外,也是美国石油协会、空气污染指数、医药、空中位置指示器的英文简称
2,什么是APIWin32 API即为Microsoft 32位平台的应用程序编程接口(Application Programming Interface) 。所有在Win32平台上运行的应用程序都可以调用这些函数 。使用Win32 API,应用程序可以充分挖掘Windows的32位操作系统的潜力 。Mircrosoft的所有32位平台都支持统一的API,包括函数、结构、消息、宏及接口 。使用 Win32 API不但可以开发出在各种平台上都能成功运行的应用程序,而且也可以充分利用每个平台特有的功能和属性 。API(Application Programming Interface,应用程序编程接口)是一套用来控制Windows的各个部件(从桌面的外观到为一个新进程分配的内存)的外观和行为的一套预先定义的Windows函数.用户的每个动作都会引发一个或几个函数的运行以告诉Windows发生了什么. 这在某种程度上很象Windows的天然代码.其他的语言只是提供一种能自动而且更容易的访问API的方法.VB在这方面作了很多工作.它完全隐藏了API并且提供了在Windows环境下编程的一种完全不同的方法.
3,什么是 APIVB中的API一般都是说windows API , 也就是微软提供给你的开发接口,系统库函数 , 可以实现很多功能 。至于WIKI上说的API是广泛意义上的API,这个对于学习VB的人可以暂时不用理解,是软件工程上的概念api(application programming interface,应用程序编程接口)是一套用来控制windows的各个部件(从桌面的外观到为一个新进程分配的内存)的外观和行为的一套预先定义的windows函数.用户的每个动作都会引发一个或几个函数的运行以告诉windows发生了什么. 这在某种程度上很象windows的天然代码.其他的语言只是提供一种能自动而且更容易的访问api的方法.vb在这方面作了很多工作.它完全隐藏了api并且提供了在windows环境下编程的一种完全不同的方法. 这也就是说,你用vb写出的每行代码都会被vb转换为api函数传递给windows.例如,form1.print...vb 将会以一定的参数(你的代码中提供的,或是默认参数)调用textout 这个api函数. 同样,当你点击窗体上的一个按钮时,windows会发送一个消息给窗体(这对于你来说是隐藏的),vb获取这个调用并经过分析后生成一个特定事件(button_click). api函数包含在windows系统目录下的动态连接库文件中(如user32.dll,gdi32.dll,shell32.dll...).作为一个编程初学者来说,API函数也许是一个时常耳闻却感觉有些神秘的东西 。单看它的复杂语法,就足令人望而生畏,但是任何事物在我们深入了解它之前,总是会有这种感觉的 。我们这篇API入门教程的目的 , 就是要把API函数的来龙去脉告诉大家,破除对API函数的畏惧 , 使它成为我们编程的好助手 。大家可能在许多书上看到过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帮助就足够了 。【API模式,什么是API】
4 , API到底怎么理解ios api(application programming interface,应用程序编程接口)是一些预先定义的函数 , 目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码 , 或理解内部工作机制的细节 。基于互联网的应用正变得越来越普及,在这个过程中,有更多的站点将自身的资源开放给开发者来调用 。对外提供的api 调用使得站点之间的内容关联性更强,同时这些开放的平台也为用户、开发者和中小网站带来了更大的价值 。开放是目前的发展趋势,越来越多的产品走向开放 。目前的网站不能靠限制用户离开来留住用户,开放的架构反而更增加了用户的粘性 。在web 2.0的浪潮到来之前 , 开放的api 甚至源代码主要体现在桌面应用上,而现在越来越多的web应用面向开发者开放了api 。具备分享、标准、去中心化、开放、模块化的web 2.0站点,在为使用者带来价值的同时,更希望通过开放的api 来让站点提供的服务拥有更大的用户群和服务访问数量 。站点在推出基于开放api 标准的产品和服务后,无需花费力气做大量的市场推广,只要提供的服务或应用出色易用,其他站点就会主动将开放api 提供的服务整合到自己的应用之中 。同时 , 这种整合api 带来的服务应用 , 也会激发更多富有创意的应用产生 。为了对外提供统一的api 接口,需要对开发者开放资源调用api 的站点提供开放统一的api接口环境,来帮助使用者访问站点的功能和资源 。当然 , 开放api 的站点为第三方的开发者提供良好的社区支持也是很有意义的 , 这有助于吸引更多的技术人员参与到开放的开发平台中 , 并开发出更为有趣的第三方应用 。API的英文全称(Application Programming Interface) 。1、对这个定义的理解 , 需要追溯到操作系统的发展历史上,当WINDOWS操作系统开始占据主导地位的时候,开发WINDOWS平台下的应用程序成为人们的需要 。而在WINDOWS程序设计领域处于发展的初期,WINDOWS程序员所能使用的编程工具唯有API函数,这些函数是WINDOWS提供给应用程序与操作系统的接口,他们犹如“积木块”一样,可以搭建出各种界面丰富,功能灵活的应用程序 。所以可以认为API函数是构筑整个WINDOWS框架的基石,在它的下面是WINDOWS的操作系统核心,而它的上面则是所有的华丽的WINDOWS应用程序 。2、那时的WINDOWS程序开发还是比较复杂的工作,程序员必须熟记一大堆常用的API函数,而且还得对WINDOWS操作系统有深入的了解 。然而随着软件技术的不断发展,在WINDOWS平台上出现了很多优秀的可视化编程环境,程序员可以采用“即见即所得”的编程方式来开发具有精美用户界面和功能强大的应用程序 。3、可视化编程环境操作简单、界面友好(诸如VB、VC++、DELPHI等),在这些工具中提供了大量的类库和各种控件,它们替代了API的神秘功能 , 事实上这些类库和控件都是构架在WIN32 API函数基础之上的,是封装了的API函数的集合 。它们把常用的API函数的组合在一起成为一个控件或类库,并赋予其方便的使用方法,所以极大的加速了WINDOWS应用程序开发的过程 。有了这些控件和类库,程序员便可以把主要精力放在程序整体功能的设计上 , 而不必过于关注技术细节 。4、实际上如果要开发出更灵活、更实用、更具效率的应用程序,必然要涉及到直接使用API函数 , 虽然类库和控件使应用程序的开发简单的多,但它们只提供WINDOWS的一般功能,对于比较复杂和特殊的功能来说,使用类库和控件是非常难以实现的,这时就需要采用API函数来实现 。5、这也是API函数使用的场合 , 所以我们对待API函数不必刻来研究每一个函数的用法,那也是不现实的(能用的到的API函数有几千个呢) 。API不要去学,在需要的时候去查API帮助就足够了 。API(Application Programming Interface,应用程序编程接口)简单来说 , 就是其他人开发出来一块程序 , 你想用,他会告诉你调用哪个函数,给这个函数传什么参数,然后又会返回给你一个什么样的结果 , 你不需要知道他函数里面到底是怎么做的,只要清楚这样调用就能实现某种功能就可以了 。比如别人已经做好了一块几何处理程序,你想拿来算圆的面积,他会告诉你把半径传给他 , 他就把面积值传给你,至于他里面是怎么算的不用你管 。API是这种模式再复杂很多的应用,涉及硬件软件多方面的工作,不过总体来说就是他告诉你怎么用能产生什么结果,你就直接拿来用就行了5,详细讲解APIAPI函数快速入门--怎样在VB中声明和使用API函数--http://www.hongen.com/pc/program/apitutor/api/api02.htm里面有图,祥细得很,http://www.host01.com/article/software/VisualBasic/2006091718392655.htm具体的可以去查一下这个手册我没感觉vb有什么api函数啊 , 不懂 。作为一个编程初学者来说 , API函数也许是一个时常耳闻却感觉有些神秘的东西 。单看它的复杂语法,就足令人望而生畏,但是任何事物在我们深入了解它之前,总是会有这种感觉的 。我们这篇API入门教程的目的,就是要把API函数的来龙去脉告诉大家 , 破除对API函数的畏惧,使它成为我们编程的好助手 。大家可能在许多书上看到过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帮助就足够了 。(未完待续)怎样在VB中声明和使用API函数?一、在VB中声明API函数有两种方法:如果我们只在某个窗体中使用API函数,我们可以在窗体代码的General部分声明它:声明的语法是:Private Declare FunctionPrivate Declare Sub这里必须采用Private声明,因为这个API函数只能被一个窗体内的程序所调用 。如果我们的程序有多个窗体构成,而且我们需要在多个窗体中使用同一个API函数 , 就需要在模块中声明了 。先添加一个模块(如图示),然后采用如下语法声明:Public Declare Function....Public Declare Sub....Public声明的含义是把API函数作为一个公共函数或过程,在一个工程中的任何位置(包括所有的窗体和模块)都能直接调用它 。声明完毕我们就能在程序中使用此API函数了 。二、可采用以下几种方式使用API函数,以SetWindowPos函数为例:?。?)忽略函数返回值的调用:SetWindowPos Form1.hWnd, -2 ,0 ,0 ,0, 0, 3注意此时函数的参数是不加括号的 。?。?)Call方法调用:Call SetWindowPos(Form1.hWnd, -2, 0, 0, 0, 3)注意这里需要加上括号,但我们不取回函数的返回值 。?。?)取得函数返回值的调用:MyLng = SetWindowPos(Form1.hWnd, -2, 0, 0, 0, 3)此时需要加上括号,而且我们必须事先定义一个变量(变量的类型与函数返回值类型相同)来存储API函数的返回值 。三、几个问题的说明: ?。?)声明中的Lib 和 Alias 是怎么回事一般情况下WIN32API函数总是包含在WINDOWS系统自带的或是其它公司提供的动态连接库DLL中 , 而Declare语句中的Lib关键字就用来指定DLL(动态连接库)文件的路径,这样VB才能找到这个DLL文件 , 然后才能使用其中的API函数 。如果我们只是列出DLL文件名而不指出其完整的路径的话,VB会自动到.EXE文件所在目录、当前工作目录、WINDOWS\SYSTEM目录、WINDOWS目录下搜寻这个DLL文件 。所以如果所要使用DLL文件不在上述几个目录下的话,我们应该指明其完整路径 。Alias用于指定API函数的别名,如果我们调用的API函数要使用字符串(参数中包含String型)的话,Alias关键字是必须的 。这是因为在ANSI和Unicode字符集中同一API函数的名称可能是不一样的,为了保证不出现声明错误,我们使用Alias关键字指出API函数的别名,一般来说在WIN9X平台下我们把API函数名后加一个大写A作为别名即可 。?。?)常见的API参数类型的说明API函数的参数中最常见的是长整Long型数据类型,例如API中的句柄、一些特定的常量、函数的返回值都是此类型 的值;另外几种常见的参数类型有:整型Integer、Byte型、String型等 。?。?)声明中的ByVal是作什么用的这跟VB的参数传递方式有关 , 在默认情况下VB是通过地址传递方式传递函数的参数、而有些API函数要求必须采用传值方式来传递函数参数(这两种参数传递方式是不同的,前者传递的是一个指针 , 而后者要求是参数真实的值) 。这样就会发生错误,解决的办法是在API函数参数声明的前面加上ByVal关键字 , 这样VB就采用传值方式传递参数了 。?。?)怎样得到完整的API函数声明VB自带了API文本查看器API TEXT VIEWER,我们可以在其中找到API函数的完整声明,然后把它粘贴到程序中即可 。【外接程序-->外接程序管理器】(未完待续)

    推荐阅读