调用API

1.如何调用API函数?

首先,要知道:操作系统与用户间的接口有两种,一种是命令接口,另一种是程序接口。

什么是命令接口:

为了便于用户直接或者间接地控制自己的作业,操作系统向用户提供了命令接口,用户可以通过该接口向作业发出命令以控制作业的运行。该接口又进一步分为联机用户接口和脱机用户接口。(参考资料:《计算机操作系统》 第三版 汤小丹编著 西安电子科技大学出版社 23页)

什么是程序接口:

程序接口是提供给程序员在编程时使用的接口,是用户的程序取得操作系统服务的唯一途径。可以说,程序接口是为用户程序在执行中访问系统资源而设置的。程序接口由一组系统调用命令(简称系统调用)组成。用户通过在程序中使用这些系统调用命令来请求操作系统提供服务。

系统调用详解:

系统调用就是用户在程序中调用操作系统所提供的一些子功能,每一个系统调用都是一个能完成特定功能的子程序。具体讲,系统调用就是通过系统调用命令中断现行的用户程序,而转去执行相应的子程序,以完成特定的系统功能;系统调用完成后,控制又返回到系统调用命令的下条指令,被中断的程序将继续执行下去。

需要注意的是:系统调用的执行是在管态下运行的。

Windows系统调用:

Windows操作系统提供了丰富的系统调用,这些系统调用又被进一步编写成不同的库函数后放入动态链接库DLL(DLL是动态链接库的英文缩写,全称是是Dynamic Link Library)中,这些库函数构成了Windows操作系统提供给程序员的编程界面,这个编程界面被称为应用编程接口API。

库函数:百科上的解释是:库函数顾名思义是把函数放到库里..是别人把一些常用到的函数编完放到一个文件里,供别人用。别人用的时候把它所在的文件名用#include<>加到里面就可以了。

库分动态链接库和静态链接库。这些库是通过编译连接生成的(在编译软件里,可以设置文件生成库文件还是普通的EXE文件)。

其实库函数就好比是在word文件里写了几篇作文,然后保存成一个word文档,那么这个word文档就相当于一个库,里面的每一篇作文都是一个库函数。

动态链接库的英文缩写是DLL,Windows中,动态链接库一般被存放在C:\Windows\System目录下,DLL多数情况下是带有DLL扩展名的文件,但也可能是EXE或其他扩展名。

所以说:API函数可以看做是一些函数,在windows操作系统下,这些函数通常存放在动态链接库中,其头文件通常包含在windows.h中(windows.h是VC 或者VS中带的)。这些存放在动态链接库里的API函数是操作系统与用户程序之间的唯一接口,用户程序只能通过这些库函数(API函数)请求操作系统服务,即用户程序只能通过这些存放在动态链接库里的API函数来实现系统调用。当用户程序中使用了这些API函数时,通常会发生系统调用,操作系统进入管态下运行,系统调用结束后,再返回到用户程序继续往下执行。

其实,C语言中最常用的printf和scanf函数,最后都是通过系统调用来完成的不止这两个函数,其实C语言的标准库函数,很多都是通过系统调用实现的。而要使用系统调用,windows下必然要使用存放在动态链接库里的API函数。当然,我们在程序中也可以不采用系统调用,因为没人规定你必须使用系统调用(当然,有时候采用系统调用会简单的多)。比如完成一个简单的加法运算程序,又比如单片机C语言编程,都没有系统调用。

许多应用软件,安装后,在其目录文件夹里通常会有一些DLL文件,这些DLL就是给该软件来调用的。

网上对API的解释如下:

API是系统的基石,是Windows的一砖一瓦。

明确一个概念,软件是运行在系统平台的支持上的,软件的功能其实就是向系统伸请,并由系统完成这些功能的过程。

那么软件要做的事情如何传递给系统呢,也就是这些API的作用了,系统定义了这些API函数,做为支持软件执行系统功能的接口。

不同的操作系统自然API会是不同的.

mfc就是对api的封装啊.就是很好的例子,候杰的深入浅出mfc正是讲这些原理的.

调用API  第1张

2.什么是API函数,怎么调用API函数?

英文意思是:Application Programming Interface

中文意思是:应用程序编程接口

根据API函数所需要的参数传入,得到的是你想要的东西

调用API  第2张

3.如何调用API函数?

该程序演示了如何用鼠标来获得任何像素的RGB颜色。该32313133353236313431303231363533e59b9ee7ad9431333433623230程序使用了计时器,间隔设置为0.01秒来捕捉事件,使用了GetPixel,GetCursorPos和GetDCWinAPI调用,来获得屏幕上任何地方的像素的颜色。optionExplicit'在表单中加入计时器,使用鼠标移动到屏幕上任何一处,RGB颜色就会显示在表单中的Caption中'privateTypePOINTAPIxasLongyasLongEndType'privateDeclareFunctionGetPixelLib"gdi32"(byvalhdcasLong,_byvalxasLong,byvalyasLong)asLongprivateDeclareFunctionGetCursorPosLib"user32"(lpPointasPOINTAPI)asLongprivateDeclareFunctionGetWindowDCLib"user32"(byvalhwndasLong)asLong'privateSubForm_Load()Timer1.Interval=100EndSub'privateSubTimer1_Timer()DimtPOSasPOINTAPIDimsTmpasstringDimlColorasLongDimlDCasLong'lDC=GetWindowDC(0)CallGetCursorPos(tPOS)lColor=GetPixel(lDC,tPOS.x,tPOS.y)Label2.BackColor=lColor'sTmp=Right$("000000"&Hex(lColor),6)Caption="R:"&Right$(sTmp,2)&"G:"&mid$(sTmp,3,2)&"B:"&Left$(sTmp,2)EndSub至于获取当前窗口,可以使用PublicDeclareFunctionGetForegroundWindowLib"user32"()AsLong获取当前活动窗体的句柄,再使用GetWindowText的API能获取到相应的标题啦!PublicDeclareFunctionGetForegroundWindowLib"user32"()AsLongPublicDeclareFunctionSendMessageLib"user32"Alias"SendMessageA"(ByValhwndAsLong,ByValwMsgAsLong,ByValwParamAsLong,lParamAsAny)AsLongPublicConstWM_GETTEXT=&HDPublicFunctionGetWin()AsStringDimtmpAsLongDimiLenAsLongDimTxtAsStringtmp=GetForegroundWindowTxt=String(255,Chr(0))iLen=SendMessage(tmp,WM_GETTEXT,Len(Txt),ByValTxt)Txt=Left(Txt,iLen)GetWin=TxtEndFunction以上代码是获取当前窗体的标题代码!(这里没使用GetWindowText的API)

调用API  第3张

4.api数据接口怎么调用

API:应用程序接口(API:Application Program Interface)应用程序接口(API:application programming interface)是一组定义、程序及协议的集合,通过版 API 接口实现计算机软件之权间的相互通信。API 的一个主要功能是提供通用功能集。程序员通过使用 API 函数开发应用程序,从而可以避免编写无用程序,以减轻编程任务。 远程过程调用(RPC):通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信。 标准查询语言(SQL):是标准的访问数据的查询语言,通过通用数据库实现应用程序间的数据共享。 文件传输:文件传输通过发送格式化文件实现应用程序间数据共享。 信息交付:指松耦合或紧耦合应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享。当前应用于 API 的标准包括 ANSI 标准 SQL API。另外还有一些应用于其它类型的标准尚在制定之中。A

调用API  第4张

上一篇:url地址是什么意思啊
下一篇:站长工具SEO