DllMain没有执行
我是DLL编程新手,刚才试了一下,发现DllMain没有执行,但是却可以执行DllMain所在的DLL的其他函数,这是怎么回事啊?
DLL里面试这样的:
#include <Windows.h>#include <iostream>int WINAPI DLLMain ( HINSTANCE hInstance, DWORD fdwReason, PVOID pvReserved ){ switch(fdwReason) { case DLL_PROCESS_ATTACH: std::cout<<"DLL is attached!"<<std::endl; break; case DLL_PROCESS_DETACH: std::cout<<"DLL is detached!"<<std::endl; break; } return true;}void FuncInDll(void){ std::cout<<"FuncInDll is called!"<<std::endl;}#include<Windows.h>#include <iostream>using namespace std;int main(){ typedef void (*DLLWITHLIB)(void); DLLWITHLIB pfFuncInDll = NULL; HINSTANCE hinst = ::LoadLibraryA("myHook.dll"); if(NULL != hinst) { cout<<"DLL loaded~"<<endl; } pfFuncInDll = (DLLWITHLIB)GetProcAddress(hinst, "FuncInDll"); if(pfFuncInDll) { (*pfFuncInDll)(); } return 0;}