whuajun
驱动牛犊
驱动牛犊
  • 注册日期2003-01-21
  • 最后登录2004-10-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1943回复:5

如何在加载dll时自动运行dll中的某个函数?

楼主#
更多 发布于:2004-09-02 14:08
我希望在加载dll时能做自动做一些初始化的工作,怎样才能在加载dll时自动运行dll中的一段程序或一个函数?
whuajun
驱动牛犊
驱动牛犊
  • 注册日期2003-01-21
  • 最后登录2004-10-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-02 14:10
我想应该是要用到DllEntryPoint,可是我对这个东东不了解。请大家指教了
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2004-09-02 14:56
dllmain 的processattach的时候进行初始化即可。
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
weileng
驱动牛犊
驱动牛犊
  • 注册日期2004-07-21
  • 最后登录2007-12-25
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-09-02 19:44
BOOL APIENTRY DllMain( HANDLE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
)
{
    switch (ul_reason_for_call)
   {
case DLL_PROCESS_ATTACH:
                 // Todo add initial code for process
case DLL_THREAD_ATTACH:
                 // Todo add initial code for thread
case DLL_THREAD_DETACH:
                 // Todo add code for thread dead
case DLL_PROCESS_DETACH:
                 // Todo add code for process dead
break;
    }
    return TRUE;
}

正如wowocock所言,从DLL的初始化条件中,根据你的需要可以放置不同的初始化代码。
z901dyxz
驱动牛犊
驱动牛犊
  • 注册日期2004-09-09
  • 最后登录2004-09-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-09-09 22:56
dllmain 的processattach的时候进行初始化即可。我试过
whuajun
驱动牛犊
驱动牛犊
  • 注册日期2003-01-21
  • 最后登录2004-10-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-09-10 16:29
谢谢楼上诸位,只是我还没搞清楚该怎么给分。
游客

返回顶部