VB中API函数的调用

VB中API函数的调用,第1张

概述1、API函数       API的英文全称(Application Programming Interface),WIN32 API也就是MicrosoftWindows32位平台的应用程序编程接口,在window *** 作系统盛行的期间,程序员主要是利用API函数来开发Windows平台下的应用程序当时程序员必须熟记很多API函数。随着软件技术的不断发展,在Windows平台上出现了很所可视化编程环

@H_502_1@1、API函数

@H_502_1@ API的英文全称(Application Programming Interface),WIN32 API也就是Microsoftwindows32位平台的应用程序编程接口,在window *** 作系统盛行的期间,程序员主要是利用API函数来开发windows平台下的应用程序当时程序员必须熟记很多API函数。随着软件技术的不断发展,在windows平台上出现了很所可视化编程环境(例如:VB,C,c++等)在这些编程环境中出现很多类和控件,他们代替了API的功能,实际上这些类和控件是封装了API函数集合。它们把常用的API函数的组合在一起成为一个控件或类库,并赋予其方便的使用方法,所以极大的加速了windows应用程序开发的过程。有了这些控件和类库,程序员便可以把主要精力放在程序整体功能的设计上,而不必过于关注技术细节。它们只提供windows的一般功能,对于比较复杂和特殊的功能来说,使用类库和控件是非常难以实现的,这时就需要采用API函数来实现。 这也是API函数使用的场合,所以我们对待API函数不必刻意研究每一个函数的用法,那也是不现实的(能用的到的API函数有几千个呢)。API不用去刻意学,只要用到的时候查看API帮助即可。

@H_502_1@

@H_502_1@2、API函数在VB中的查看

@H_502_1@ 开始→所有程序→Microsoft Visual Basic 6.0 中文版→API文本浏览器

@H_502_1@

@H_502_1@出现API文本浏览器对话框,然后点击文件→加载文本文件→WIN32API→选择你所需要的内容

@H_502_1@

@H_502_1@

@H_502_1@3、API函数解析

<strong><span ></span></strong><pre name="code" ><strong><span >Public Declare Function SetParent lib "user32" Alias "SetParent" (ByVal hWndChild As Long,ByVal hWndNewParent As Long) As Long</span></strong>
@H_403_86@

@H_502_1@

@H_502_1@Declare 语句:用于在模块级别中声明对动态链接库 (DLL) 中外部过程的引用。对此,你只要记住任何API函数声明都必须写这个语句就可以了。

@H_502_1@

@H_502_1@Iib: 指明包含所声明过程或函数的动态链接库或代码资源。也就是说,它说明的是,函数或过程从何而来的问题。

@H_502_1@如在上例中,SetParent lib "user32"说明 函数 SetParent 来自 user32.dll文件。主要的dll动态连接库文件有∶

@H_502_1@(1)user32.dll windows管理。生成和管理应用程序的用户接口。

@H_502_1@(2)GDI32.dll 图形设备接口。产生windows设备的图形输出
(3)Kernel32.dll 系统服务。访问 *** 作系统的计算机资源。

@H_502_1@
注意,当DLL文件不在windows或System文件夹中的时候,必须在函数中说明其出处(路径)。如,SetFocus lib "c:\Mydll\user32"函数声明中的Alias 是可选的。表示将被调用的过程在动态链接库 (DLL) 中还有另外的名称(别名)。如,Alias "SetFocus" ,说明SetFocus函数在User32.dll中的另外一个名称是,SetFocus。怎么两个名都一样呢?当然,也可以是不同的。在很多情况下,Alias说明的函数名,即别名最后一个字符经常是字符A,如SetwindowsText函数的另一个名称是SetwindowsTextA,表示为Alias "SetwindowsTextA"。这个A只不过是设计家们的习惯的命名约定,表示函数属于ANSI版本。

@H_502_1@别名的用途:从理论上讲,别名提供了用另一个名字调用API的函数方法。如果你指明了别名,那么 尽管我们按Declare语句后面的函数来调用该函数,但在函数的实际调用上是以别名作为首要选择的。如,以下两个函数(Function,ABCD)声明都是有效的,他们调用的是同一个 SetFocus函数∶

@H_502_1@Declare Function SetFocus lib "user32" "SetFocus" (ByVal hwnd As Long) As Long
Declare ABCD SetFocus lib "user32" Alias "SetFocus" (ByVal hwnd As Long) As Long

@H_502_1@需要注意的是,选用Alias的时候,应注意别名的大小写;如果不选用Alias 时的时候,函数名必须注意大小写,而且不能改动。当然,在很多情况下,由于函数声明是直接从API文本游览器中拷贝过来的,所以这种错误的发生机会是很少的,但您有必要知道这一点。

@H_502_1@byval的作用:这跟VB的参数传递方式有关,在默认情况下VB是通过地址传递方式传递函数的参数、而有些API函数要求必须采用传值方式来传递函数参数(这两种参数传递方式是不同的,前者传递的是一个指针,而后者要求是参数真实的值)。这样就会发生错误,解决的办法是在API函数参数声明的前面加上ByVal关键字,这样VB就采用传值方式传递参数了。

@H_502_1@

@H_502_1@最后提醒一句,API声明(包括结构、常数)必须放在窗体或模块的"通用(General Declarations)段。

总结

以上是内存溢出为你收集整理的VB中API函数的调用全部内容,希望文章能够帮你解决VB中API函数的调用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1269225.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存