VB中声明和使用API函数

VB中声明和使用API函数,第1张

VB中声明和使用API函数,第2张

一、VB中API函数的声明方式有两种:如果我们只在某个表单中使用API函数,可以在表单代码的通用部分声明:


声明的语法是:

私有声明函数...

私有声明Sub.....

这里必须采用私有声明,因为这个API函数只能被一个窗体中的程序调用。


如果我们的程序由多个窗体组成,需要在多个窗体中使用同一个API函数,就需要在模块中声明。

先添加一个模块(如图),

然后用以下语法声明它:

公共声明函数....

公共声明Sub....

公共声明的含义是将API函数视为一个公共函数或过程,在项目中的任何地方(包括所有的窗体和模块)都可以直接调用。声明之后,我们就可以在程序中使用这个API函数了。


二、API函数可以通过以下方式使用,以SetWindowPos函数为例:

(1)忽略函数返回值的调用:

SetWindowPos Form1.hWnd,-2,0,0,0,0,3

请注意,函数的参数没有括号。

(2)调用方法调用:

调用SetWindowPos(Form1.hWnd,-2,0,0,0,3)

注意这里需要括号,但是我们不检索函数的返回值。

(3)调用获取返回值的函数:

myling = SetWindowPos(form 1 . hwnd,-2,0,0,0,3)

这时候就需要加括号了,我们必须事先定义一个变量(变量的类型和函数返回值的类型相同)来存储API函数的返回值。


三。几个问题的解释:


(1)声明中的Lib和Alias怎么办?

一般情况下,WINDOWS系统或其他公司提供的DLL中总是包含WIN32API函数,并使用Declare语句中的Lib关键字来指定DLL(动态连接库)文件的路径,这样VB就可以找到DLL文件,然后使用API函数。如果我们只是列出DLL文件名而没有指出它的完整路径,VB将自动在。EXE文件所在位置,当前工作目录,WINDOWS\SYSTEM目录和WINDOWS目录。因此,如果要使用的DLL文件不在上述目录中,我们应该指出它的完整路径。

Alias用于指定API函数的别名,如果我们调用的API函数是使用字符串(参数包含字符串类型),Alias关键字是必须的。这是因为同一个API函数的名称在ANSI和Unicode字符集中可能不同。为了保证不出现声明错误,我们使用Alias关键字指出API函数的别名。一般来说,在WIN9X平台上,我们可以在API函数的名字后面加一个大写的A作为别名。


(2)常用API参数类型描述

API最常见的参数是长整型数据类型,比如API中的句柄,一些特定的常量和函数的返回值都是这种类型的值;其他常见的参数类型有整数、字节、字符串等。


(3)ByVal在语句中有什么用?

这和VB的参数传递方式有关。VB默认通过地址传递来传递函数参数,而有些API函数要求函数参数必须通过值传递来传递(这两种参数传递方式是不同的,前者传递一个指针,后者要求参数的实值)。这样会造成错误,解决的办法是在API函数参数声明前面加上ByVal关键字,这样VB就可以按值传递参数了。


(4)如何获得完整的API函数声明?

VB自带API文本查看器API文本查看器,在这里我们可以找到API函数的完整声明并粘贴到程序中。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » VB中声明和使用API函数

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情