首先,我们启动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. PHP高级特性基础

    php对象在内存中的区域:php对象名和对象存放的位置是不一样的,这一点和java是一模一样的,所以在php面向对象部分你完全可以套用java的思想去做.对象存放在堆区(heap)而对象名则和其他普通 ...

  2. 数据分析与R语言

    数据结构 创建向量和矩阵 函数c(), length(), mode(), rbind(), cbind() 求平均值,和,连乘,最值,方差,标准差 函数mean(), sum(), min(), m ...

  3. js在线题目

    在线题目: https://www.nowcoder.com/ta/js-assessment

  4. Android学习自定义Dialog

    Dialog是Android提供的各种对话框的基类,和上篇的DialogFragment类似.为什么还要介绍Dialog呢,因为DialogFragment只能运行在Android3.0以上的系统中. ...

  5. form表单中经常用到的禁用获取值问题

    <input name="country" id="country" size=12 value="disabled提交时得不到该值 " ...

  6. HDU 1328 IBM Minus One

    IBM Minus One Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  7. QT5中的pro文件中为何要加入"QT += widgets"

    在pro文件里写"QT+=widgets"表示引入QtWidget这个module,qmake在生成makefile的时候,会设置好include path 和 lib path, ...

  8. php变量的引用及函数的引用

    Php变量的引用及函数的引用放回 变量的引用    $a="ABC";    $b =&$a;    echo $a;//这里输出:ABC    echo $b;//这里输 ...

  9. [转载] 高大上的 CSS 效果:Shape Blobbing

    这篇大部分是转载,来自<高大上的 CSS 效果:Shape Blobbing>和 <Shape Blobbing in CSS> 有部分是自己理解和整理,配合效果要做出 app ...

  10. php 日期 - 计算2个日期的差值

    /** * 日期-计算2个日期的差值 * @return int */ public function get_difference($date, $new_date) { $date = strto ...