详解VB.net编写DLL(动态链接库、应用程序扩展)文件
2013-07-29 16:47
483 查看
首先,我们启动VS(Visual-Studio简称),我使用的是VS2008版本。
新建一个项目-选择内裤(额...不好意思)→类库 ,名称就默认吧.
![](http://hiphotos.baidu.com/lipeiyi2006/pic/item/34befbde6eb5436bcdbf1a47.jpg)
编写类库没有窗体设计,因此我们不能使用工具箱中的控件..
类库支持Function函数,Sub过程等等....
·我们写个获取程序MD5(我有过一篇曾介绍过http://hi.baidu.com/lipeiyi2006/blog/item/6e63fb1c279ef18086d6b607.html)的Function函数
完整代码如下:
Imports System.IO
Imports System.Security.Cryptography
Public Class Class1
Public Function MD5(ByVal Path As String) As String
Dim fstream As New FileStream(Path, _
FileMode.Open, _
FileAccess.Read)
Dim dataToHash(fstream.Length - 1) As Byte
fstream.Read(dataToHash, 0, fstream.Length)
fstream.Close()
Dim hashvalue As Byte() = CType(CryptoConfig.CreateFromName("MD5"), HashAlgorithm).ComputeHash(dataToHash)
Dim i As Integer
Dim result As String = ""
For i = 0 To hashvalue.Length - 1
result += Hex(hashvalue(i)).ToLower
Next
Return result
End Function '返回MD5值
End Class
PS:如果复制的格式不正确请自行修改。
我们保存之后,选择 “生成-生成ClassLibrary1"
![](http://hiphotos.baidu.com/lipeiyi2006/pic/item/bb68c5b12142db6708230259.jpg)
在对应的保存目录下找到"ClassLibrary1.dll",这就是你已经写好的DLL了.
将其复制到Windows目录下,为了避免找不到文件。
在次新建一个工程,选择"Windows窗体应用程序"
![](http://hiphotos.baidu.com/lipeiyi2006/pic/item/4883118208ea42910df4d22d.jpg)
如图。
点击菜单中的 "项目-添加引用-浏览"找到你的ClassLibrary1.dll
你可以在"对象浏览器"中查看DLL函数
![](http://hiphotos.baidu.com/lipeiyi2006/pic/item/28a63a8b55782b21c9fc7a37.jpg)
在Button1的Click事件中写入代码.
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim myDll As New ClassLibrary1.Class1'注意要使用New关键字实例化
Dim FilePath As String = ""
FilePath = InputBox("请输入要获取MD5文件地址", "")
MsgBox(myDll.MD5(FilePath))
End Sub
End Class
运行程序,效果如下:
![](http://hiphotos.baidu.com/lipeiyi2006/pic/item/184de7512fa226bc8d54300c.jpg)
好了,很简单吧!
在程序中应用DLL出来上述方法外还可以使用Declare语句引用..
你可以写其它函数包装在一个DLL中共同分享吧!
新建一个项目-选择内裤(额...不好意思)→类库 ,名称就默认吧.
![](http://hiphotos.baidu.com/lipeiyi2006/pic/item/34befbde6eb5436bcdbf1a47.jpg)
编写类库没有窗体设计,因此我们不能使用工具箱中的控件..
类库支持Function函数,Sub过程等等....
·我们写个获取程序MD5(我有过一篇曾介绍过http://hi.baidu.com/lipeiyi2006/blog/item/6e63fb1c279ef18086d6b607.html)的Function函数
完整代码如下:
Imports System.IO
Imports System.Security.Cryptography
Public Class Class1
Public Function MD5(ByVal Path As String) As String
Dim fstream As New FileStream(Path, _
FileMode.Open, _
FileAccess.Read)
Dim dataToHash(fstream.Length - 1) As Byte
fstream.Read(dataToHash, 0, fstream.Length)
fstream.Close()
Dim hashvalue As Byte() = CType(CryptoConfig.CreateFromName("MD5"), HashAlgorithm).ComputeHash(dataToHash)
Dim i As Integer
Dim result As String = ""
For i = 0 To hashvalue.Length - 1
result += Hex(hashvalue(i)).ToLower
Next
Return result
End Function '返回MD5值
End Class
PS:如果复制的格式不正确请自行修改。
我们保存之后,选择 “生成-生成ClassLibrary1"
![](http://hiphotos.baidu.com/lipeiyi2006/pic/item/bb68c5b12142db6708230259.jpg)
在对应的保存目录下找到"ClassLibrary1.dll",这就是你已经写好的DLL了.
将其复制到Windows目录下,为了避免找不到文件。
在次新建一个工程,选择"Windows窗体应用程序"
![](http://hiphotos.baidu.com/lipeiyi2006/pic/item/4883118208ea42910df4d22d.jpg)
如图。
点击菜单中的 "项目-添加引用-浏览"找到你的ClassLibrary1.dll
你可以在"对象浏览器"中查看DLL函数
![](http://hiphotos.baidu.com/lipeiyi2006/pic/item/28a63a8b55782b21c9fc7a37.jpg)
在Button1的Click事件中写入代码.
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim myDll As New ClassLibrary1.Class1'注意要使用New关键字实例化
Dim FilePath As String = ""
FilePath = InputBox("请输入要获取MD5文件地址", "")
MsgBox(myDll.MD5(FilePath))
End Sub
End Class
运行程序,效果如下:
![](http://hiphotos.baidu.com/lipeiyi2006/pic/item/184de7512fa226bc8d54300c.jpg)
好了,很简单吧!
在程序中应用DLL出来上述方法外还可以使用Declare语句引用..
你可以写其它函数包装在一个DLL中共同分享吧!
相关文章推荐
- 在vs2005中win32控制台应用程序中加载动态链接库(.dll)文件
- 在生成 Visual c + + 2005年或从 DLL 文件中使用 CString 派生的类的 Visual c + +.net 应用程序时,您可能会收到 LNK2019 错误消息
- [VB.NET]DLL中,怎样写一个文件用来保存每次访问DLL后变量的自增1
- Visual C++ 编写供 VB.Net调用的Dll
- 用C/C++编写与调用动态链接库(DLL)文件
- 在C#.net中调用VC 6.0编写的DLL文件
- [VB.NET]安装完office2003后,无法找到com库文件Interop.Excel.dll?
- 转:C# .NET中调用VB编写的DLL代码事例(我做了些修改)
- [VB.NET]vb.net中如何检测一个已知的文件是否已经被打开或者被其他应用程序调用
- 在ASP 调用 VB.net 编写的dll 出错 提示:Microsoft VBScript 运行时错误 错误 '800a01ad' ActiveX 部件不能创建对象
- VB.NET 生成DLL文件 调用DLL文件
- 使用VB.net和VB编写DLL组件的方法
- Asp.net 网站中 App_Offline.htm 文件详解及自定义应用程序脱机机制
- 如何用VB编写自己的DLL文件,并调用其中的函数
- 非MFC模式的动态链接库(DLL)文件的编写和调试
- VB.NET中的DLL编写和调用的简单示例
- 自己写的文件操作的function和Sub vb.net dll
- Asp.net_关于如何利用编译器把[.cs]文件生成动态链接库[.dll]文件方法的总结
- 预编译ASP.NET应用程序——把aspx.cs文件封装成dll文件
- 学习心得之-----VB.NET 的自定义带窗体的DLL文件