首页
社区
课程
招聘
[求助]DLL中调用DLL的问题
发表于: 2010-6-1 15:42 6020

[求助]DLL中调用DLL的问题

2010-6-1 15:42
6020
我的进程自动加载 ppk.dll
当PPK.DLL被加载的时候,自动建立一个线程;
如下:
if (dwReason == DLL_PROCESS_ATTACH)
{
        DisableThreadLibraryCalls(hModule);
        CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)testF,NULL,0,NULL);
}
testF线程如下
void testF()
{
        HMODULE hModule        =LoadLibrary("svclpk.dll");
       if (hModule)
       {

       }
}
svclpk.dll被加载的时候如下
BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                     )
{
     
        if(ul_reason_for_call==DLL_PROCESS_ATTACH){
        DisableThreadLibraryCalls(hModule);
        CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ServiceMain,NULL,0,NULL);
        }
        return TRUE;
}
severicmain 函数如下
void ServiceMain(LPVOID lpram)
{
         LPMSG msg;
        do{
       if (GetMessage(msg,0,0,0))
           {
                if (msg->message== WM_QUIT)
                        break;
                TranslateMessage(msg);
                DispatchMessage(msg);
           }
    }while(1);
}

现在的问题是:若这样:
void testF()
{
        HMODULE hModule        =LoadLibrary("svclpk.dll");
       if (hModule)
       {

       }
}
线程:
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ServiceMain,NULL,0,NULL);
没有建立起来;
若:
void testF()
{
        HMODULE hModule        =LoadLibrary("svclpk.dll");
       if (hModule)
       {
         MessageBoxA(NULL,"2","2",MB_OK);
       }
}
线程:
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ServiceMain,NULL,0,NULL);
能正常建立

=========================
我搜索了一些资料。A.DLL需要调用B.DLL,则要看A是显示使用B还是隐式使用B
我的VC++无法生产lib,这个lib大小只有5k,但是我的生成DLL却有50K
如何搞?

[招生]科锐逆向工程师培训(2025年3月11日实地,远程教学同时开班, 第52期)!

收藏
免费
支持
分享
最新回复 (7)
雪    币: 254
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
dll还没完全进去。你的程序就退出了?
2010-6-1 17:27
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
貌似是dll延迟加载了
2010-6-1 18:32
0
雪    币: 89
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
无LIB  当然是 隐士调用 了。LoadLibrary GetProcAddress  
注意调试一下或者 加些对话框判断下
2010-6-1 18:47
0
雪    币: 255
活跃值: (37)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我的VC6.0生成的LIB文件非常小。在哪里设置这个?
2010-6-2 08:47
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
你把lib和dll放一起
2010-6-2 09:18
0
雪    币: 65
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
此回答应该是对的!!
2010-6-2 09:34
0
雪    币: 255
活跃值: (37)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
谢谢以上各位回答!
2010-6-24 09:53
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册