Windows API函数实际上是一组用C语言编写的函数,因此要在VB中使用必须以一定的方式进行声明.声明以后才可以在VB程序中调用.Windows API是Windows应用程序编程接口(Application Programming Interface)是操作系统支持的函数定义,参数定义和信息格式的集合,可以供其他应用程序调用.Windows API函数分为图形管理函数,图形设备接口函数,系统服务函数和多媒体函数几种.作为动态连接库,API可以被任何语言所调用.在调用时做好调用的接口,即做好API函数的声明.
现在谈谈如何在你的程序中声明API函数.API函数在Windows自带的DLL文件中,他存在于VB应用程序之外的文件中,在使用时必须指定过程的位置和调用参数.声明一个DLL过程可以用 Declare 语句提供这类信息。在声明了API过程之后,可以把它当做 Visual Basic 自己的过程使用。
语法如下:
Declare Function name Lib "libname"[Alias Aliasname][([[ByVal]variable[As type][,[ByVal]varaiable[As type]]...])]
其中参数说明如下:
Name:必需,在程序中用于识别过程的名称.
Lib: 必需,关键字指明包含所声明过程的动态链接库或代码资源.
Libname:必需,所声明的过程动态链接库名或者代码资源名.
Alias:可选,关键字,被调用的过程在动态链接库(DLL)中的别名.
Aliasname:可选,动态链接库或代码资源中的过程名.
Variable:可选,调用过程所需的参数.
Alias关键字通常在以下情况中使用:
1.当外部过程名与某个关键字重名时;
2.当动态链接库的过程名与同一范围内的公用变量,常数或其他过程的名称相同时;
3.当动态链接库过程中的某个字符不符合动态链接库的命名约定时.
以下为常用的动态链接库:
动态链接库 描述
Advapi32.dll 高级API服务,支持大量的API,包括许多安全与
注册方面的调用.
Comdlg32.dll 通用对话框API
Gdi32.dll 图形设备接口API库
Kernel32.dll Windows 32为核心的API支持
Lz32.dll 32位压缩程序
Mpr.dll 多接口路由器库
Netapi32.dll 32位网络API库
Shell32.dll 32位Shell API库
User32.dll 用户接口例程库
Version.dll 版本库
Winmm.dll Windows多媒体库
Winspool.drv 后台打印接口,包含后台打印API调用
看到API函数的声明后会不会发现一个问题呢?没错,在声明时发现API函数的声明语句往往非常复杂,和多API函数的声明语句长达数行,这使得我们在使用API函数时非常的不便,常常记不清声明语句.但是Visual Basic早就为用户想到了这个问题,在VB中内嵌了API浏览器.在API浏览器中可以很直观方便的使用API函数,不再需要去记那些繁琐的关键字和参数了,而你仅仅需要记住要调用的API函数名,一切就搞定了.有关如何在VB中使用API Viewer 这里就不在说明了,读者可以查看有关资料.
光说理论不能使我们真正的体会到使用API函数的实际过程,下面用几个很简单的例子说明如何在VB中调用API函数.
例一:
下例将演示如何调用 Windows API 中的过程。调用函数 SetWindowText 来改变一个窗体的标题栏。当然,在实际应用中,通常我们用 Visual Basic 的 Caption 属性来改变标题栏。该示例的目的在于说明如何声明并调用过程。
首先,在模块的声明部分对过程进行声明:
Public Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As_ Long, ByVal lpString