如何在Win32应用程序同时具备EXE和DLL的双重功能
xdev 2007-05-12 04:24:36 写了一个Win32 Application,编译生成sample.exe
可否在这个程序中加入DllMain,让其直接运行时调用WinMain,被LoadLibrary时执行DllMain,我这样写的
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
MessageBox(NULL,__TEXT("FromWinMain"),__TEXT("ExeAndDll"),MB_OK);
return 0;
}
extern "C" BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
MessageBox(NULL,__TEXT("FromDllMain"),__TEXT("ExeAndDll"),MB_OK);
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
在是在别一个程序中LoadLibrary("sample.exe")时,并没有成功加载DllMain,不知为何?