API相关--5月29日

工具:API文本查看器()

 

VB命名:

“在VB中,如何声明函数呢?我想,如果你正在看此文,那么你绝对能够回答得出这个问题。以下便是你应该很熟悉的函数声明∶

Function SetFocus (ByVal Hwnd As Long) As Long

即,这行代码定义了名为SetFocus的函数,此函数具有一个Long型数据类型的参数,并按值传递(ByVal),函数执行后将返回一个Long型数据。

 

 

 

API命名:

“API函数的声明也很类似,如,API中的SetFocus 函数是这样写的∶

 

Declare Function SetFocus Lib "User32" Alias "SetFocus" (ByVal Hwnd As Long) As Long
有点复杂了一些。是的,是复杂了点。但我可以告诉你,除了这些多出来的部分,其他部分还是和你以前学到的东西是一样的。函数在程序中的调用也是一样。如:
Dim Dl As Long
Dl&=SetFoucs(Form1.Hwnd)
但,一点是清楚的。它不象你自己写的程序那样能够看到里面的运行机理,也不像VB
自带的函数那样,能够从VB的联机帮助中查到其用法。唯一的方法就是去学、查VB以外的资料。

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


Lib 指明包含所声明过程或函数的动态链接库或代码资源。也就是说,它说明的是,函数或过程从何而来的问题。
如在上例中,SetFocus Lib "User32"说明 函数 SetFocus 来自 User32.Dll文件。主要的Dll动态连接库文件有∶

 

User32.Dll Windows管理。生成和管理应用程序的用户接口。Kernel32.Dll 系统服务。访问操作系统的计算机资源。

注意,当DLL文件不在Windows或System文件夹中的时候,必须在函数中说明其出处(

路径)。如,SetFocus Lib "C:/Mydll/User32"

 

 

函数声明中的Alias 是可选的。表示将被调用的过程在动态链接库 (DLL) 中还有另外的名称(别名)。如,Alias "SetFocus" ,说明SetFocus函数在User32.Dll中的另外一个名称是,
SetFocus。怎么两个名都一样呢?当然,也可以是不同的。在很多情况下,Alias说明的函数名,即别名最后一个字符经常是字符A,如SetWindowsText函数的另一个名称是
SetWindowsTextA,表示为Alias "SetWindowsTextA"。这个A只不过是设计家们的习惯的命名约定,表示函数属于ANSI版本。、

 

 


你可能感兴趣的:(windows,api,function,user,dll,vb)