在VB中声明API函数有两种方法:如果我们只在某个窗体中使用API函数,我们可以在窗体代码的General部分声明它:
声明的语法是:Private Declare Function ...Private Declare Sub.....这里必须采用Private声明,因为这个API函数只能被一个窗体内的程序所调用。
如果我们的程序有多个窗体构成,而且我们需要在多个窗体中使用同一个API函数,就需要在模块中声明了。先添加一个模块(如图示),然后采用如下语法声明:Public Declare Function....Public Declare Sub....Public声明的含义是把API函数作为一个公共函数或过程,在一个工程中的任何位置(包括所有的窗体和模块)都能直接调用它。 声明完毕我们就能在程序中使用此API函数了。
可采用以下几种方式使用API函数,以SetWindowPos函数为例:(1)忽略函数返回值的调用:SetWindowPos Form1.hWnd, -2 ,0 ,0 ,0, 0, 3注意此时函数的参数是不加括号的。(2)Call方法调用:Call SetWindowPos(Form1.hWnd, -2, 0, 0, 0, 3) 注意这里需要加上括号,但我们不取回函数的返回值.(3)取得函数返回值的调用:MyLng = SetWindowPos(Form1.hWnd, -2, 0, 0, 0, 3) 此时需要加上括号,而且我们必须事先定义一个变量(变量的类型与函数返回值类型相同)来存储API函数的返回值。
|