Windows标准DLL编译工具
来源:互联网 发布:淘宝减肥药事件 编辑:程序博客网 时间:2024/05/20 06:54
本资源来自网络,我只不过是稍加整理,谈不上原创,但亦非转贴、翻译,也只能选原创。。。
也曾在别的论坛发布过,仅是收集而已。。。
标准DLL编译工具下载:http://download.csdn.net/source/837118
一、如何使用标准DLL编译工具
使用方法很简单。首先,将C:/Program Files/Microsoft Visual Studio/VB98/link.exe改名为link2.exe
其次,将本文件link.exe复制到C:/Program Files/Microsoft Visual Studio/VB98文件夹中即可。
本工具让你即可使用VB6原默认方式编译,也可编译WINDOWS标准DLL。
二、如何用VB6生成WINDOWS标准DLL
说明:以下内容源自Iczelion的Win32汇编教程中“动态链接库”一节,有改动。
(原文请见罗云彬汇编网站http://211.90.241.130:22366/list.asp?part1=1&part2=4)
对WINDOWS标准DLL而言,每一个DLL必须有一个入口点函数,WINDOWS每一次在做下面的动作时会调用该入口点函数:
当动态链接库被加载时
当动态链接库卸载时
同一进程的线程生成时
同一进程的线程退出时
入口点函数的名称无所谓,在VB6中,我们姑且作如下定义
Const DLL_PROCESS_DETACH=0 '动态链接库从进程的地址空间卸出时
Const DLL_PROCESS_ATTACH=1 '动态链接库第一次插入进程的地址空间时
Const DLL_THREAD_ATTACH=2 '新线程生成
Const DLL_THREAD_DETACH=3 '线程销毁
Function DllEntry(ByVal hInstDLL As Long, ByVal reason As Long, ByVal reserved As Long) As Long
Select Case reason
Case DLL_PROCESS_ATTACH
'MsgBox "动态链接库第一次插入进程的地址空间"
DllEntry = 1
Case DLL_PROCESS_ATTACH
'MsgBox "动态链接库从进程的地址空间卸出"
DllEntry = 0
Case DLL_THREAD_ATTACH
'MsgBox "新线程生成"
DllEntry = 1
Case DLL_THREAD_DETACH
'MsgBox "线程销毁"
DllEntry = 0
End Select
End Function
该入口函数DllEntry共有三个参数:hInstDLL, reason, reserved,只有前面两个是重要的。
hInstDLL:是该动态链接库模块的句柄。它和进程的实例句柄不一样。如果您以后要用,可以保存它,因为以后再要获得它不容易。
reason:根据不同的时机,传入的值可能是下面的四个值中的一个:
DLL_PROCESS_ATTACH 动态链接库第一次插入进程的地址空间时。当传入的参数是该值时,您可以做一些初始化的工作。
DLL_PROCESS_DETACH 动态链接库从进程的地址空间卸出时。您可以在此做一些清理的工作。譬如:释放内存等。
DLL_THREAD_ATTACH 新线程生成。
DLL_THREAD_DETACH 线程销毁。
如果想要库中的代码继续执行,返回TRUE,否则返回FALSE,那样动态链接库就不会加载了。譬如:您想分配一块内存,如果不成功的话就退出,这时您就可以返回FALSE。那样动态链接库就不会加载了。
您可以加入的函数,它们的位置并不重要,把它们放在入口点函数的前面或后面都可以。只是如果您想要它们能被其它的程序调用的话,就必须把它们的名字放到模块定义文件(.def)中去。
模块定义文件.def,将由本工具自动为您生成,而无须您的干预。
- Windows标准DLL编译工具
- windows下编译skia dll
- skia windows下编译dll
- Windows上编译libCVD.dll
- Windows平台下dll的标准内容
- Visual Studio 2015 - Windows XP (v140_xp) 编译工具 ucrtbased.dll缺失
- 在Windows上将CPPUNIT编译为DLL
- windows下编译x264,生成lib、dll
- windows下编译x264,生成lib、dll
- unity防反编译 windows平台加密dll
- 安卓NDK制作标准交叉编译工具链
- Web Service代理类自动生成及编译dll工具
- 几种工具反编译被编译好的DLL文件
- Windows下GCC工具编译Proc程序
- windows平台安装gcc等编译工具
- ffmpeg编译(生成Windows Mobile或Wince平台dll, lib)
- ffmpeg编译(生成Windows或Win32平台dll, lib)
- ffmpeg编译(生成Windows或Win32平台dll, lib)
- windows 2003中IE无法更改安全级别,如何解决?
- WEB专用服务器的安全设置的实战技巧
- Stack与Heap的区别
- 中国通China hand
- Topcoder_4
- Windows标准DLL编译工具
- JavaScript : HTTP Get
- 某大型企业局域网安全解决方案
- 吃馅饼 学口语
- tomcat异常处理
- DBGridEh的学习笔记
- [双语阅读]赖斯访英 为女王弹奏钢琴
- MFC中用户自定义类响应自定义消息
- C#列出局域网中可用SQL Server服务器