dll有两种形式的DllMain:
BOOL APIENTRY DllMain( HANDLE hModule, //HANDLE类型
DWORD ul_reason_for_call,
LPVOID lpReserved
)
BOOL WINAPI DllMain(
HINSTANCE hinstDLL, // HINSTANCE类型
DWORD fdwReason, // reason for calling function
LPVOID lpvReserved // reserved
);
请问他们有什么区别?要在上面的HANDLE中,怎样取得实例句柄?还有,我写的Dll为什么不能导出函数呢?
bool _declspec(dllexport) WINAPI InstallHook(HWND Handle,long Msg);
在BCB中调用时:
dll=LoadLibrary("hook.dll");//成功
if (dll==NULL)
{
MessageBox(Handle,"不能加载Dll","Error",MB_ICONERROR);
Application->Terminate();
return;
}
InstallHook_=(void (_stdcall*)(HWND _hWnd ,long _Message))
GetProcAddress(dll,"InstallHook");
if (InstallHook_==NULL)//在此总是取不到InstallHook的地址
{
MessageBox(Handle,"不能得到函数地址","Error",MB_ICONERROR);
FreeLibrary(dll);
Application->Terminate();
return;
}
InstallHook_(Handle,WM_MYUSER);
请各位指教,先谢谢了
我的E-Mail:[email protected]
BOOL APIENTRY DllMain( HANDLE hModule, //HANDLE类型
DWORD ul_reason_for_call,
LPVOID lpReserved
)
BOOL WINAPI DllMain(
HINSTANCE hinstDLL, // HINSTANCE类型
DWORD fdwReason, // reason for calling function
LPVOID lpvReserved // reserved
);
请问他们有什么区别?要在上面的HANDLE中,怎样取得实例句柄?还有,我写的Dll为什么不能导出函数呢?
bool _declspec(dllexport) WINAPI InstallHook(HWND Handle,long Msg);
在BCB中调用时:
dll=LoadLibrary("hook.dll");//成功
if (dll==NULL)
{
MessageBox(Handle,"不能加载Dll","Error",MB_ICONERROR);
Application->Terminate();
return;
}
InstallHook_=(void (_stdcall*)(HWND _hWnd ,long _Message))
GetProcAddress(dll,"InstallHook");
if (InstallHook_==NULL)//在此总是取不到InstallHook的地址
{
MessageBox(Handle,"不能得到函数地址","Error",MB_ICONERROR);
FreeLibrary(dll);
Application->Terminate();
return;
}
InstallHook_(Handle,WM_MYUSER);
请各位指教,先谢谢了
我的E-Mail:[email protected]
.def
LIBRARY "xxx"
EXPORTS
InstallHook
2.
bool WINAPI InstallHook(HWND Handle,long Msg);
可是以下的DLLMain中的参数是什么意思啊?
BOOL APIENTRY DllMain( HANDLE hModule, //HANDLE类型
DWORD ul_reason_for_call,
LPVOID lpReserved
)
BOOL WINAPI DllMain(
HINSTANCE hinstDLL, // HINSTANCE类型
DWORD fdwReason, // reason for calling function
LPVOID lpvReserved // reserved
);
这两个参数怎么回不同类型?
HANDLE hModule, //HANDLE类型
HINSTANCE hinstDLL, // HINSTANCE类型
HANDLE类型参数有什么用?