关于使用LoadLibrary加载dll文件的问题

hailee1985 2014-10-13 03:28:33
有一个DLL,不是我自己写的,所以我不知道里面时怎么实现的,但是,今天在使用时,有一个问题,很奇怪。

int APIENTRY _tWinMain(HINSTANCEhInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
printf("\r\n\r\n************************************************************\r\n");
printf("Enter into main()\r\n");

// TODO: 在此放置代码。
HINSTANCE his = LoadLibrary(L"abcd.dll");
printf("\r\nhis:0x%X\r\n", his);

while (1)
{
Sleep(1000);
}

return 0;
}

结果打印信息如下:


而如果我把代码中的
HINSTANCE his = LoadLibrary(L"abcd.dll");
屏蔽掉,打印信息如下:


我的问题是:
LoadLibrary加载一个DLL文件,到底做了什么?因为abcd.dll文件不是我写的,我没有代码,各位前辈,你们觉得,仅仅调用了下LoadLibrary函数加载一个DLL文件,什么样的情况下可能出现上面的打印信息?是在DLLmain中打印吗?有没有其他的可能?
...全文
489 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hailee1985 2014-10-31
  • 打赏
  • 举报
回复
说实话,我是想破解的,呵呵,现在这个问题还是没搞明白,不过我就是简单的写了个自己的类似的dll文件,执行简单的代码,从而使用对方的库可以跑起来,呵呵。不要喷我。
铖邑 2014-10-16
  • 打赏
  • 举报
回复
可能里面有个全局对象,这些信息在构造函数里面输出
Henzox 2014-10-14
  • 打赏
  • 举报
回复
你可以简单的认为是在 dll 初始化里打印的。这有可能是全局资源的初始化,也可能是 dllmain 里面的代码。

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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