如何在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,不知为何?
...全文
235 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wltg2001 2007-05-14
  • 打赏
  • 举报
回复
应该不行,你生成的是Win32 Application,这样入口点是WinMain,DllMain只被当作一个普通的函数了.
linchunfu 2007-05-14
  • 打赏
  • 举报
回复
应该是不行的
zxy119 2007-05-13
  • 打赏
  • 举报
回复

15,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧