讲API基础的书很多,也比较简单,因此我就随便拷一段。要是你这还不大清楚,后面精采的内容可能没法欣赏了,先补一下基础吧。
API说到底就是一系列的底层函数,是系统提供给用户用于进入操作系统核心,进行高级编程的途径。通过在Visual Basic应用程序中声明外部过程就能够访问Windows API(以及其它的外部DLLs)。在声明了过程之后,调用它的方法与调用Visual Basic自己的过程相同。要声明一个DLL过程,需要在代码窗口的"声明"部分增加一个Declare语句,如果该过程返回一个值,应将其声明为Function。例如:
Declare Function publicname Lib "libname" [Alias "alias"] [([[ByVal] variable [As type] [,[ByVal] variable [As type]]...])] As Type
如果过程没有返回值,可将其声明为Sub。缺省情况下,在标准模块中声明的DLL过程,可以在应用程序的任何地方调用它。在其他类型的模块中定义的DLL过程是模块私有的,必须在它们前面加上Private关键字,以示区分。特别提请注意的是,在32位的Visual Basic中过程名是区分大小写的。而在以前的16位版本中并不区分大小写,这是初学者容易出错的地方。Declare语句中的Lib子句用来告诉Visual Basic如何找到包含该过程的dll文件。如果引用的过程属于Windows核心库(User32、Kernel32或GDI32),则可以不包含文件扩展名。例如:
Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount"() As Long。对于其它DLL,Lib子句须指定文件的路径及扩展名。如果调用的Windows API过程要使用字符串,那么在声明语句中必须增加一个Alias子句,以指定正确的字符集。包含字符串的Windows API函数实际有两种格武ANSI格式Unicode格式。因此,在Windows头文件中,每个包含字符串的函数都同时有ANSI版本和Unicode版本。
