关于VC++ DLL中的DllMain

我编写一个Dll,希望这个Dll在注入游戏后能自动运行有朋友指点我,在DllMain中加入代码CaseDLL_PROCESS_ATTACH;//运行代码break;我建立... 我编写一个Dll,希望这个Dll在注入游戏后能自动运行
有朋友指点我,在DllMain中加入代码
Case DLL_PROCESS_ATTACH;
//运行代码
break;
我建立的DLL名称为GameDLl
在GameDll.cpp中加入这段代码
BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved )
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
//通常代码都加在这里
Game_Run();
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
在生成Dll时提示错误,在多个位置定义了DllMain
查找其它地方的定义发现,在process.h中有这个定义,两个函数起冲突了
应该如何做才能实现在Dll被注入游戏进程后自动运行呢?
难道是起头Process.h中的WINAPI CComModule::DllMain 中加入代码?
或者说应该在哪个文件中写入DllMain函数,或者在哪个文件中的DllMain函数中加入代码才能实现Dll被游戏加载后自动运行?
希望能来点有建设性的意见,谢谢!
展开
 我来答
TX是个啥652
2014-07-18 · TA获得超过123个赞
知道答主
回答量:141
采纳率:0%
帮助的人:67万
展开全部
当你用洞渣LoadLibrary加载你的DLL,或第一次调用你的DLL中的函数时,DLLMAIN才会纳基悄被执行锋敏,不是一开始就执行DLLMAIN的
打字不易,如满意,望采纳。
追问
郁闷,你说的这些我知道啊!不可能仅凭你打几个字我就一定得给分吧?这个问题提了两次,都是同样的回答
我要知道的是如何实现,不是实现的原理
我想知道在哪里写入代码可以在DLl被加载后运行起来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangpaishi
推荐于2016-04-10 · TA获得超过570个赞
知道小有建树答主
回答量:932
采纳率:52%
帮助的人:757万
展开全部
在燃渣锋生成Dll时提示错误,在多个位置定义了DllMain
查找其它地方的定义发现,在process.h中有这个定皮晌义,两个函数起冲突了

使用VC++ IDE 项目生成向导生成DLL项目,不应该会出现这个编译梁仿错误提示

微软的东西,不应该会这么菜的

Win32的DLL,或者 MFC 的DLL

更多追问追答
追问
是的。GameDll.cpp中的DllMain是我自己加上去的
我想知道在什么地方加入代码可以实现Dll被加载后运行指定函数
我知道是DllMain,但这个DllMain在Process.h中,肯定不会是在这个里面加入吧?
追答

项目向导生成文件中,有类似的函数,找到这个函数,添加即可

Win32 DLL如下,自动生成的,不是手动添加的

MFC DLL 如下,初始化实例函数

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式