vb.net添加dll vbnet dll

怎样用VB.NET写和调用DLl窗体【vb.net添加dll vbnet dll】一、带窗体的dll创建
1、先新建 类库(testdll) , 在项目中添加两个窗体form1(主窗体)、form2,为了与后面的调用区分分别命名为fm1,fm2;并在fm1窗体中添加一个按钮用来调用fm2如下图
2、在fm1窗体代码中先引用fm2,按钮代码调用fm2.如图
3、生成dll,(class1.vb中不需要写任何代码)
二、调用dll
1、新建 一个windows应用程序并添加一个按钮用来调用dll中的窗体,选 择 “项目”-“添加引用”,选择刚才创建的testdll
2、窗体代码中先引用testdll,再定义一个testdll中的fm1对象 , 最后执行对象的show方法
3、运行结果如下:
VB.NET加载指定路径的Dll,比如在当前窗口加载“C:\000.dll”并显示同LS,“加载”是什么意思
单是加载的话 , 
非托管的用API
LoadLibrary
托管的用
Assembly类的几个静态方法
不过你要怎么“显示”呢
比如,我写一个dll,里面就一个函数,Function
Sum(Byval
a
As
Integer,Byval
b
As
Integer)
As
Long 。你怎么显示呢?
“加载”dll的方法是通用的
但是“使用”(包括你所说的显示)dll要具体情况具体分析 。除了一些分析dll的通用软件 , 大多数时候都要根据dll中提供的函数来决定 。
比如VS的工具箱,可以“加载”控件的dll,但不能“加载”user32.dll
vb.net怎么使用内部resources里面的dll新建---类库---把你的函数放在新建的类库中-----生成ClassLibrary1
在net程序中---引用----对应目录下的ClassLibrary1.dll
对应的代码定义如:
Dim
mydll
As
New
ClassLibrary1.Class1
最后就可以用mydll调用你的函数MyFunction了:
mydll
.MyFunction(1,
2)
注意:vb.net编写的DLL不能用
API函数
的方式通过Declare宣告,只能引用的方式使用
vb.net要编写的DLL能被vb6.0引用,需要先在编译属性中选择“为COM
互操作
注册”打勾
然后在Visual
Studio
2008
命令提示中运用RegAsm命令加/tlb命令生成tlb文件
例如:c:\ReleaseRegAsm
ClassLibrary1.dll
/tlb回车就会在当前目录生成ClassLibrary1.tlb文件
vb6.0中引用ClassLibrary1.tlb即可 。
在Visual Studio中用VB.Net如何创建自己的动态连接库dll?新建---类库---把你的函数放在新建的类库中-----生成ClassLibrary1
在net程序中---引用----对应目录下的ClassLibrary1.dll
对应的代码定义如:
Dim
mydll
As
New
ClassLibrary1.Class1
最后就可以用mydll调用你的函数MyFunction了:
mydll
.MyFunction(1,
2)
注意:vb.net编写的DLL不能用
API函数
的方式通过Declare宣告,只能引用的方式使用
vb.net要编写的DLL能被vb6.0引用,需要先在编译属性中选择“为COM
互操作
注册”打勾
然后在Visual
Studio
2008
命令提示中运用RegAsm命令加/tlb命令生成tlb文件
例如:c:\ReleaseRegAsm
ClassLibrary1.dll
/tlb回车就会在当前目录生成ClassLibrary1.tlb文件
vb6.0中引用ClassLibrary1.tlb即可 。
VB.NET加载指定路径DLL先Imports System.Runtime.InteropServices 然后Class XXXXDllImport("G:\newversion\zlib1.dll", EntryPoint:="zlibVersion", SetlastError:=True, CharSet:=CharSet.Unicode, ExactSpelling:=True, CallingConvention:=CallingConvention.StdCall) Public Shared Function zlibVersion() As String
End Function...'在里面调用zlibVersion()即可调用zlib1.dll的zlibVersion方法,其他DLL你根据接口灵活定义好了End Class

推荐阅读