资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

dll释放vb.net的简单介绍

VB.NET把dll嵌入到exe内部。

我的方案是将相关dll的放入vb的资源文件中,生成exe,在exe执行时先将dll释放到exe目录(或path所在目录),这样就只有1个exe就可以了

网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、成都小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了抚顺县免费建站欢迎大家使用!

请教VB怎么释放引用的DLL文件

要声明一个DLL过程,首先需要在代码窗口的"通用(General)"部分增加一个Declare语句。如果该过程返回一个值,应将其声明为

Function:

Declare Function publicname Lib "libname" [Alias "alias"] [([[ByVal] variable [As type] [,[ByVal] variable [As type]]...])] As Type

如果过程没有返回值,可将其声明为Sub:

Declare Sub publicname Lib "libname" [Alias "alias"] [([[ByVal] variable [As type] [,[ByVal] variable [As type]]...])]

缺省情况下,在标准模块中声明的DLL过程,可以在应用程序的任何地方调用它。在其它类型的模块中定义的DLL过程则是模块私有的,必须在它们前面声明Private关键字,以示区分。下面分别介绍声明语句的各个组成部分。

(一)、指定动态库:

Declare语句中的Lib子句用来告诉Visual Basic如何找到包含过程的.dll文件。 如果引用的过程属于Windows核心库(User32、Kernel32或GDI32),则可以不包含文件扩展名,如:

Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As Long

对于其它动态连接库,可以在Lib子句指定文件的路径:

Declare Function lzCopy Lib "c:/windows/lzexpand.dll" _

(ByVal S As Integer, ByVal D As Integer) As Long

如果未指定libname的路径,Visual Basic将按照下列顺序查找该文件:

①.exe文件所在的目录

②当前目录

③Windows系统目录

④Windows目录

⑤Path环境变量中的目录

下表中列出了常用的操作系统环境库文件。

动态链接库描述

Advapi32.dll高级API服务,支持大量的API(其中包括许多安全与注册方面的调用)

Comdlg32.dll通用对话框API库

Gdi32.dll图形设备接口API库

Kernel32.dllWindows32位核心的API支持

Lz32.dll32位压缩例程

Mpr.dll多接口路由器库

Netapi32.dll32位网络API库

Shell32.dll32位ShellAPI库

User32.dll用户接口例程库

Version.dll版本库

Winmm.dllWindows多媒体库

Winspool.drv后台打印接口,包含后台打印API调用。

对于Windows的系统API函数,可以利用VB提供的工具API Viewer查找某一函数及其相 关数据结构和常数的声明,并复制到自己的程序中。

vb.net引用Dll的问题

上级目录不可以,但是为了保证程序路径改变,引用不会被破坏。可以有几个方法:

1.将DLL文件放在程序同级目录

2.将DLL文件放在程序子目录

3.将DLL文件放在System32目录下(系统目录,可以直接引用DLL)

4.可以将DLL文件打包成资源文件,融合到EXE程序中,每次执行判断同级目录是否有DLL文件,不存在,释放资源文件。

大神,求指点vb.net怎么把dll添加到资源里面不释放而直接调用呢?

资源指的是文字、图片、音乐、动画等,而dll是程序代码,不属于资源的行列,所以你说的无法实现。

如果一定要放在资源里,只能先释放出来形成一个文件,然后再调用这个文件,不过需要注意的是,这个过程会被很多杀毒软件判定为病毒。


文章题目:dll释放vb.net的简单介绍
本文网址:http://cdkjz.cn/article/hdecdc.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220