在C++中
HANDLE tHand;
extern "C" __declspec(dllexport)
BOOL APIENTRY DllMain( HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved)
{
tHand=hModule;
return TRUE;
}
HANDLE __stdcall initial ( )
{
return tHand;//这是否为返回DLL的句柄
}
在VB中 方法一
Private Declare Function initial Lib "mydll.dll" () As Long
Private Sub Command6_Click()
MsgBox initial '//调用C++的initial获得句柄.
End Sub
在VB中 方法二
Private Declare Function GetModuleHandle Lib "kernel32" Alias _
"GetModuleHandleA" (ByVal lpModuleName As String) As Long
Private Sub Command6_Click()
MsgBox GetModuleHandle(App.Path & "\mydll.dll") '\\使用系统API的GetModuleHandleA函数获得
End Sub
以上两种方法运行的结果返回值是相同的,BUBEG时返回值均为67043328,生成EXE后返回值为22085632
我不知这个返回值是否为DLL的句柄,新手,请多帮助,谢谢.