sgnaw (李逍遥) 2006-12-07
* VC++6 做 DLL 步骤
1.File->New ... 新建一个 Win32 Dynamic-Link Library 的工程
比如名称为 MyDLL , 在向导中选择空的工程。
2. 在 FileView 中对工程点右键,选 Add Files to Project ...
添加 MyDLL.cpp, MyDLL.h, MyDLL.def 三个文件.
3. 源程序内容(MyDLL.cpp, MyDLL.h, MyDLL.def)
/**/
/* --------------------------
MyDLL.cpp 文件
-------------------------- */
#include < windows.h >
#include " MyDLL.h "
int WINAPI DllMain (HINSTANCE hInstance, DWORD fdwReason, PVOID pvReserved)
... {
return TRUE ;
}
__stdcall int CALLBACK MySum( int a, int b)
... {
return a+b;
}
/**/ /*----------------------
MyDLL.h 文件
----------------------*/
#ifdef __cplusplus
extern " C " ... {
#endif
__stdcall int CALLBACK MySum (int, int) ;
#ifdef __cplusplus
}
#endif
;
; MyDLL.def 文件
;
LIBRARY " MyDLL "
EXPORTS
MySum @ 1
MyDLL.cpp 文件
-------------------------- */
#include < windows.h >
#include " MyDLL.h "
int WINAPI DllMain (HINSTANCE hInstance, DWORD fdwReason, PVOID pvReserved)
... {
return TRUE ;
}
__stdcall int CALLBACK MySum( int a, int b)
... {
return a+b;
}
/**/ /*----------------------
MyDLL.h 文件
----------------------*/
#ifdef __cplusplus
extern " C " ... {
#endif
__stdcall int CALLBACK MySum (int, int) ;
#ifdef __cplusplus
}
#endif
;
; MyDLL.def 文件
;
LIBRARY " MyDLL "
EXPORTS
MySum @ 1
4.按 F7 编译, 默认会在工程所在目录的 Debug 目录下生成一个 MyDLL.dll 文件
//-------------------------------------------------
在 Visual Basic 6 中调用 MyDLL.dll 的步骤
1.进入 VB6 , 新建一个 Standard EXE
( 可以把此 DLL 文件 copy 到你的 VB 工程目录中 )
2.添加一个按钮, 关双击,在代码窗口添加如下代码:
'
注意,下面的 MyDLL.dll 的位置要修改成你的位置
' 或者把 MyDLL.dll 放在你的 path 环境变量所在的目录
' 比如放在 c:windowssystem32 目录中
Private Declare Function MySum() Function MySum Lib "E:/src/vc6/learn/MyDLL/vb/MyDLL.dll" _
(ByVal S As Integer, ByVal D As Integer) As Integer
Private Sub Command1_Click()Sub Command1_Click()
Dim a As Integer
a = MySum(2, 3) ' 在这里设置一个断点
End Sub
' 或者把 MyDLL.dll 放在你的 path 环境变量所在的目录
' 比如放在 c:windowssystem32 目录中
Private Declare Function MySum() Function MySum Lib "E:/src/vc6/learn/MyDLL/vb/MyDLL.dll" _
(ByVal S As Integer, ByVal D As Integer) As Integer
Private Sub Command1_Click()Sub Command1_Click()
Dim a As Integer
a = MySum(2, 3) ' 在这里设置一个断点
End Sub
3.运行, 点击按钮, 观察断点运行情况.