首先,我们启动VS(Visual-Studio简称),我使用的是VS2008版本。

新建一个项目-选择内裤(额...不好意思)→类库 ,名称就默认吧.

编写类库没有窗体设计,因此我们不能使用工具箱中的控件..

类库支持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"

在对应的保存目录下找到"ClassLibrary1.dll",这就是你已经写好的DLL了.

将其复制到Windows目录下,为了避免找不到文件。

在次新建一个工程,选择"Windows窗体应用程序"

如图。

点击菜单中的 "项目-添加引用-浏览"找到你的ClassLibrary1.dll

你可以在"对象浏览器"中查看DLL函数

在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

运行程序,效果如下:

好了,很简单吧!

在程序中应用DLL出来上述方法外还可以使用Declare语句引用..

你可以写其它函数包装在一个DLL中共同分享吧!

详解VB.net编写DLL(动态链接库、应用程序扩展)文件的更多相关文章

  1. C++编写DLL动态链接库的步骤与实现方法

    原文:http://www.jb51.net/article/90111.htm 本文实例讲述了C++编写DLL动态链接库的步骤与实现方法.分享给大家供大家参考,具体如下: 在写C++程序时,时常需要 ...

  2. nand flash详解及驱动编写

    https://www.crifan.com/files/doc/docbook/linux_nand_driver/release/html/linux_nand_driver.html#nand_ ...

  3. Delphi 编写DLL动态链接库文件的知识

    一.DLL动态链接库文件的知识简介: Windows的发展要求允许同时运行的几个程序共享一组函数的单一拷贝.动态链接库就是在这种情况下出现的.动态链接库不用重复编译或链接,一旦装入内存,Dlls函数可 ...

  4. Delphi 编写DLL动态链接库文件的知识和样例(有详细步骤,很清楚)

    一.DLL动态链接库文件的知识简介: Windows的发展要求允许同时运行的几个程序共享一组函数的单一拷贝.动态链接库就是在这种情况下出现的.动态链接库不用重复编译或链接,一旦装入内存,Dlls函数可 ...

  5. Linux dts 设备树详解(二) 动手编写设备树dts

    Linux dts 设备树详解(一) 基础知识 Linux dts 设备树详解(二) 动手编写设备树dts 文章目录 前言 硬件结构 设备树dts文件 前言 在简单了解概念之后,我们可以开始尝试写一个 ...

  6. linux dd命令参数及用法详解---用指定大小的块拷贝一个文件(也可整盘备份)

    linux dd命令参数及用法详解---用指定大小的块拷贝一个文件 日期:2010-06-14 点击:3830 来源: 未知 分享至:            linux dd命令使用详解 dd 的主要 ...

  7. [转帖]XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件

    XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件 https://www.cnblogs.com/smartsmile/p/7665979.html xcopy dirA dir ...

  8. lib静态链接库,dll动态链接库,h文件

    最近在弄摄像头,发现我在调用摄像头自带的函数的时候,库没连接上,于是经过高人指点,学习了一下lib静态链接库,dll动态链接库来补充一下自己的基础知识. 一.首先我们来介绍一下lib静态链接库. li ...

  9. 怎样用VB编写.DLL动态链接库文件

    VB一般可以生成两种特殊的DLL,一个是ActiveX DLL和ActiveX Control(*.ocx).这两种DLL都是VB支持的标准类型,在VB自身的例子中有,你可以参考.更详细的介绍可以参考 ...

随机推荐

  1. Unable to resolve target 'android-XX'的问题解决

    1.问题现象(Unable to resolve target 'android-XX') 将低版本的代码导入eclipse时,常遇到这样的问题:Unable to resolve target 'a ...

  2. Hadoop书籍下载链接

    Hadoop书籍推荐1:Hadoop实战(结合经典案例全面讲解hadoop整个技术体系)http://www.db2china.net/club/thread-25148-1-1.html2:Hado ...

  3. JavaScript检测之basevalidate.js

    上篇文章「JavaScript检测原始值.引用值.属性」中涉及了大量有用的代码范例,为了让大家更方便的使用这些代码,博主特意把这些代码重新整理并托管到 GitHub,项目地址是:https://git ...

  4. sublime text 2 安装

    下载 http://pan.baidu.com/s/1eRemu0y http://jingyan.baidu.com/album/ff4116259b057c12e48237b8.html?pici ...

  5. zepto.js 处理Touch事件(实例)

    处理Touch事件能让你了解到用户的每一根手指的位置,在touch事件触发的时候产生,可以通过touch event handler的event对象取到,如果基于zepto.js开发,一般是通过eve ...

  6. C# 10 总复习

    数据类型--变量与常量--运算符与表达式--语句(if,for)--数组--函数--结构体 一.数据类型: (一)内建类型 整型(int short long byte uint ushort ulo ...

  7. Hibernate摘记

    原理: 1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件2.由hibernate.cfg.xml中的<mapping reso ...

  8. EventLog监控

    http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/logs/eventlogs/ http://etuto ...

  9. QtQml 应用程序的性能考虑与建议(来自小V的翻译)

    QtQml 应用程序的性能考虑与建议 原文:csdn aidear_evo QtQml应用程序的性能考虑与建议 本文翻译自Qt官网文档:http://doc.qt.io/qt-5/qtquick-pe ...

  10. aix knowlgdgecenter

    http://www-01.ibm.com/support/knowledgecenter/ssw_aix_53/com.ibm.aix.install/doc/insgdrf/HT_insgdrf_ ...