使用VB生成没有限制的函数DLL zz
2007-03-20 16:03
309 查看
使用VB生成没有限制的函数DLL
大家都知道,VB6现在可以生成一种特殊的DLL:ActiveX DLL,但是无法控制编译过程中函数的导出,导致无法生成通用的函数DLL。于是网上便出现了各种各样的通过中断编译过程,来控制函数导出的方法、软件。但是,我们会发现,没用一种方法、一款软件可以满足我们需要,因为现在大部方法都是通过ActiveX DLL工程加上输出函数控制,但是ActiveX DLL本身有很多限制,且使用很不方便。于是我编写了一个基于EXE工程类型的DLL函数输出控制程序,打破的ActiveX DLL的限制。
软件下载地址:http://download.csdn.net/source/161402(支持VBSP6)
VBSP6下载地址:http://ishare.sina.com.cn/cgi-bin/fileid.cgi?fileid=1282154(中文版)
软件使用很简单,下载后安装,选择VB6的安装目录,会自动复制文件,也算是绿色软件。完成后新建一个标准EXE工程,选择工程菜单>>移除Form1,添加一个标准模块如Module1.bas,首先向其中写入DLL的入口代码:
Function DLLMain(ByVal hInstDLL As Long, ByVal fdwReason As Long, ByVal lpwReserved As Long) As Long
DLLMain = 1
End Function
注意参数形式一定要正确,否则编译失败。高级编程时这些参数很有用。在首次调用DLL和调用DLL的原程序退出时均会执行DLLMain函数。这个函数是必须的。
然后就可以输入自己想使用的函数了,比如:
Function Add(ByVal A As Double, ByVal B As Double) As Double
Add = A + B
End Function
注意,因为这是标准EXE工程,为了让VB编译通过,还必须加上:
Sub Main()
End Sub
然后,就可以选择生成EXE了。
在生成EXE的文件名对话框中,需要更改文件扩展名为.dll以便激活软件的控制窗口:
在“输出的函数名”中填写希望导出的函数,比如:Add
在“函数所在的模块”中填写这个函数存在的模块,如:Module1
然后点击添加即可。其他函数以此类推。完成所有添加函数后,单击“启动编译过程开始生成DLL”,出现编译信息,没有错误的话,就可以使用DLL了。使用方法同Win32 API一样声明,调用。
大家都知道,VB6现在可以生成一种特殊的DLL:ActiveX DLL,但是无法控制编译过程中函数的导出,导致无法生成通用的函数DLL。于是网上便出现了各种各样的通过中断编译过程,来控制函数导出的方法、软件。但是,我们会发现,没用一种方法、一款软件可以满足我们需要,因为现在大部方法都是通过ActiveX DLL工程加上输出函数控制,但是ActiveX DLL本身有很多限制,且使用很不方便。于是我编写了一个基于EXE工程类型的DLL函数输出控制程序,打破的ActiveX DLL的限制。
软件下载地址:http://download.csdn.net/source/161402(支持VBSP6)
VBSP6下载地址:http://ishare.sina.com.cn/cgi-bin/fileid.cgi?fileid=1282154(中文版)
软件使用很简单,下载后安装,选择VB6的安装目录,会自动复制文件,也算是绿色软件。完成后新建一个标准EXE工程,选择工程菜单>>移除Form1,添加一个标准模块如Module1.bas,首先向其中写入DLL的入口代码:
Function DLLMain(ByVal hInstDLL As Long, ByVal fdwReason As Long, ByVal lpwReserved As Long) As Long
DLLMain = 1
End Function
注意参数形式一定要正确,否则编译失败。高级编程时这些参数很有用。在首次调用DLL和调用DLL的原程序退出时均会执行DLLMain函数。这个函数是必须的。
然后就可以输入自己想使用的函数了,比如:
Function Add(ByVal A As Double, ByVal B As Double) As Double
Add = A + B
End Function
注意,因为这是标准EXE工程,为了让VB编译通过,还必须加上:
Sub Main()
End Sub
然后,就可以选择生成EXE了。
在生成EXE的文件名对话框中,需要更改文件扩展名为.dll以便激活软件的控制窗口:
在“输出的函数名”中填写希望导出的函数,比如:Add
在“函数所在的模块”中填写这个函数存在的模块,如:Module1
然后点击添加即可。其他函数以此类推。完成所有添加函数后,单击“启动编译过程开始生成DLL”,出现编译信息,没有错误的话,就可以使用DLL了。使用方法同Win32 API一样声明,调用。
相关文章推荐
- 在vb中使用Iphlpapi.dll获取网络信息 第四章 第二节 一个重要函数
- 在vb中使用Iphlpapi.dll获取网络信息 第四章 第二节 一个重要函数
- 让VB生成的DLL工程导出函数
- 在vb中使用Iphlpapi.dll获取网络信息 第三章 第一节 IPHLPAPI 的其它函数
- 利用VS2010生成DLL文件及DLL中函数和全局变量的使用
- 在vb中使用Iphlpapi.dll获取网络信息 第三章 第一节 IPHLPAPI 的其它函数
- 使用LoadLibrary函数装载一个DLL文件,没有指定文件路径,那么操作系统搜索DLL文件的策略如下
- 生成的DLL中没有导出函数,导致LoadLibraryW 错误;用DEPENDS查看dll函数时,若dll已经更改,需要关闭此dll然后重新打开
- 查看VC++生成的dll的方法或函数名[dumpbin使用方法]
- 使用VB将ASP代码封装生成DLL文件
- SNMP阶段总结,基于SNMP++提取进程内存使用,CPU占用率,进程名称,PID,路径等信息的功能函数,生成了DLL,源码送上
- JNI使用实例之C、C++ DLL回调java成员函数
- 使用VB将ASP代码封装生成DLL文件
- 刚才遇到了关于C#使用外部DLL函数上的char*的问题。
- BCB下使用的VC生成的DLL
- Visual Studio 2010生成dll并使用
- 使用QT+MinGW编写动态库dll供VC或VB调用
- VC2008如何生成及使用DLL(完整版)
- 解决使用MSBuild编译项目没有拷贝间接引用的dll问题
- c++中.dll与.lib文件的生成与使用的详解