VB如何调用dll

如何如何调用DLL模块只的命令?比如:这个DLL模块名为:a.DLL其中的函数名称为b,参数一个为c,一个为d,返回类型为整数。像这样的该怎么调用?(刚学VB取详细方法求... 如何如何调用DLL模块只的命令?
比如:这个DLL模块名为:a.DLL其中的函数名称为b,参数一个为c,一个为d,返回类型为整数。像这样的该怎么调用?(刚学VB取详细方法求注释)
展开
 我来答
闪星2
2014-03-05 · TA获得超过3006个赞
知道大有可为答主
回答量:2898
采纳率:58%
帮助的人:1034万
展开全部

在调用自己写的dll之前,想来看看VB是如何调用API的:

Option Explicit

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Sub Command1_Click()
    Dim Hwnd As Long
    Hwnd = FindWindow(vbNullString, "Form1")
    If Hwnd <> 0 Then
        Debug.Print "窗口的句柄为:" & Hwnd
    Else
        Debug.Print "参数设置错误或者程序异常"
    End If
End Sub

以上代码就实现了调用FindWindow API 获取窗口标题为“Form1”的句柄,那么,如何调用自己写dll呢?其实,了解过API的同学都知道,API是封装在dll里面的。看到这里还是不懂如何调用dll?别怕,先分析下上面的API声明。

(以下片段来自网友)


经过上面,我们知道如何添加API,接着我们分析一下API声明,这是你了解API必备的。首先看第一个单词Private,很显然,我上面刚刚讲过,这是申明一个私有的API变量。再看第二个Declare,这个单词帮我们告诉VB是在申明API函数,一般申明外在的API函数时都必须带上这个单词。第三个Sub,别告诉我你不知道什么意思?这就是我叫你先学习VB中过程函数的意思,这个说白了就是没有反回值,一般如果不是Sub而是Function都带有反回值的。第四个Lib,这个是告诉VB我们要声明哪一个DLL中的API函数,也就是告诉VB我们要申明第五个单词kernel32.dLL中的API,一般写DLL名称时都要用双引号括起来,如"user32"、"shell32.dll"等,至于后面的.dll这个可以带可不带。再来看第六个Alias,这个也是需要同后面一个一起用的,我们应该把第六个和第七个连起来一起看Alias "Sleep"(这里对应上面的Alias "FindWindowA"
),这个意思表示将被调用的过程在DLL中还有另外的名称,这个是可选的。最后括号里面的,也就是和过程函数一样,你传入相应的值就可以了。


看到这里,知道该怎么用了吧?

还是不太懂?好吧!请往下看:

假设a.DLL在C盘根目录,c和d都是长整形,私有声明如下

Private Declare Function b Lib "c:\a.dll"_
(ByVal c As Long, ByVal d As Long) As Long


调用:Data1=b(2,3)


好了。

如果上面从网友那里摘抄来的看不懂的话请追问,满意请采纳!

帐号已注销
2014-03-05 · TA获得超过242个赞
知道小有建树答主
回答量:268
采纳率:0%
帮助的人:265万
展开全部
先进行函数声明:
Private Declare Function b lib "a.dll" (byval c as long, byval d as long) as long
(以上假设参数c和d的类型均为long型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-03-05
展开全部
系统自带的dll按ctrl加t,其他dll我就不会了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-03-05
展开全部
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)你指的是这样?
追答
api。。。  他要的应该是普通dll吧。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式