急急急!每分钟在线等待!在下是一个初学者,哪位大侠没事,请都在VB中使用API函数的方法!(在PB中使用API有知道)

时间:2022-09-29 14:10:54
声明API在什么位置,参数怎样定义
如何调用。请指教。

9 个解决方案

#1


Private Declare Function GetDC Lib "user32" Alias "GetDC" (ByVal hwnd As Long) As Long

这是一个典型例子,位置不太重要,因为它是动态调用的DLL,也就是说只有用到的时候才会去LoadLibary

#2


private or public 对外接口
declare 关键字
function or sub 函数或过程
lib 引用的dll文件
alias 在dll中的原函数名,如果相同可以省略
()参数值
最后是返回类型

#3


VB项目中
“Microsoft Visual Basic 6.0 中文版工具”下有一个
“API 文本浏览器”可以帮上忙

#4


用这个浏览器,它自动把你要声明的API加到你的工程中去
http://soft.269.net/SoftWareView.asp?SoftWareID=46065

#5


api在form的最上面的部分定义,或者是在摸块中定义,一般的函数都在user32中,可以用api浏览器自动加入,工具在add-in中,呵呵~~~
        
           无论晴天也好雨天也好我希望和你一起度过~~~~~~~~~风笛

#6


没得事情做,干脆我给你写个例子,例子很简单哟&^_^&。

1.在[开始]->[程序]->[Microsoft Visual Studio 6.0]->[Microsoft Visual Studio 6.0 Tools]菜单中打开《API Text Viewer》这个程序。

2.点击菜单[File]->[Load Text File...]命令,打开WIN32API.TEX文件。

3.在[API Type]一栏中选择Declars,然后在下面的索引文本框中输入"MessageBox"后回车(这里我们就只用这一个API函数)。

4.点击[Copy]按钮,然后关闭这个API Viewer程序。

5.打开VB(我这里是6.0的版本),新建一个应用程序项目(Standard EXE)。

6.给该程序增加一个模块(Module),在模块中粘贴刚才Copy的句子。

7.回到主窗口,在MouseDown事件里输入如下语句:
MessageBox hWnd,"这就是API的调用","简单",0

8.F5运行程序,可以看到按下鼠标时会有对话框弹出。当然,不用API一样可以实现这个功能,我这里只不过给你讲讲怎么用API罢了。

附,VB的代码:

'这是模块中的声明
Public Declare Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long

'这是窗体中的代码
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    MessageBox hWnd,"这就是API的调用","简单",0
End Sub

#7


请问MessageBox hWnd,"这就是API的调用","简单",0
中的hwnd是什么意思?

#8


hwnd是一个窗口的句柄

#9


具体API函数中的参数谁代表谁,有什么含义,察看MSDN吧。除了这个MessageBox之外,其他的API我也不太懂。
hwnd 被称为句柄(Handle),有了这个Handle以后,我们就可以对这个Handle所代表的对象为所欲为了。例如一个简单的例子,DestroyWindow(hwnd);,大致的意思就是摧毁(关闭)某个hwnd代表的窗口;或者GetDC(hwnd),得到某个窗口的DC(设备上下文)等等......
具体如果得到某个窗口的hwnd,可以在FindWindow,FindWindowEx,EnumWindow,GetTopWindow,GetWindow等等窗口函数中获得。

有意思的是,如果你搞不懂hwnd到底是什么的时候,有时可以把它设为0,象这样:
MessageBox 0,"这就是API的调用","简单",0

这个0也是一个窗口的句柄,这里就不多说了。:-)

#1


Private Declare Function GetDC Lib "user32" Alias "GetDC" (ByVal hwnd As Long) As Long

这是一个典型例子,位置不太重要,因为它是动态调用的DLL,也就是说只有用到的时候才会去LoadLibary

#2


private or public 对外接口
declare 关键字
function or sub 函数或过程
lib 引用的dll文件
alias 在dll中的原函数名,如果相同可以省略
()参数值
最后是返回类型

#3


VB项目中
“Microsoft Visual Basic 6.0 中文版工具”下有一个
“API 文本浏览器”可以帮上忙

#4


用这个浏览器,它自动把你要声明的API加到你的工程中去
http://soft.269.net/SoftWareView.asp?SoftWareID=46065

#5


api在form的最上面的部分定义,或者是在摸块中定义,一般的函数都在user32中,可以用api浏览器自动加入,工具在add-in中,呵呵~~~
        
           无论晴天也好雨天也好我希望和你一起度过~~~~~~~~~风笛

#6


没得事情做,干脆我给你写个例子,例子很简单哟&^_^&。

1.在[开始]->[程序]->[Microsoft Visual Studio 6.0]->[Microsoft Visual Studio 6.0 Tools]菜单中打开《API Text Viewer》这个程序。

2.点击菜单[File]->[Load Text File...]命令,打开WIN32API.TEX文件。

3.在[API Type]一栏中选择Declars,然后在下面的索引文本框中输入"MessageBox"后回车(这里我们就只用这一个API函数)。

4.点击[Copy]按钮,然后关闭这个API Viewer程序。

5.打开VB(我这里是6.0的版本),新建一个应用程序项目(Standard EXE)。

6.给该程序增加一个模块(Module),在模块中粘贴刚才Copy的句子。

7.回到主窗口,在MouseDown事件里输入如下语句:
MessageBox hWnd,"这就是API的调用","简单",0

8.F5运行程序,可以看到按下鼠标时会有对话框弹出。当然,不用API一样可以实现这个功能,我这里只不过给你讲讲怎么用API罢了。

附,VB的代码:

'这是模块中的声明
Public Declare Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long

'这是窗体中的代码
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    MessageBox hWnd,"这就是API的调用","简单",0
End Sub

#7


请问MessageBox hWnd,"这就是API的调用","简单",0
中的hwnd是什么意思?

#8


hwnd是一个窗口的句柄

#9


具体API函数中的参数谁代表谁,有什么含义,察看MSDN吧。除了这个MessageBox之外,其他的API我也不太懂。
hwnd 被称为句柄(Handle),有了这个Handle以后,我们就可以对这个Handle所代表的对象为所欲为了。例如一个简单的例子,DestroyWindow(hwnd);,大致的意思就是摧毁(关闭)某个hwnd代表的窗口;或者GetDC(hwnd),得到某个窗口的DC(设备上下文)等等......
具体如果得到某个窗口的hwnd,可以在FindWindow,FindWindowEx,EnumWindow,GetTopWindow,GetWindow等等窗口函数中获得。

有意思的是,如果你搞不懂hwnd到底是什么的时候,有时可以把它设为0,象这样:
MessageBox 0,"这就是API的调用","简单",0

这个0也是一个窗口的句柄,这里就不多说了。:-)