关于dll的小问题

wuwenlin 2006-02-11 08:21:08
// dll例子.cpp : Defines the entry point for the DLL application.
//

#include "stdafx.h"
#include <stdio.h>
#include<URLMON.H>
#pragma comment(lib,"URLMON.lib")

int file();
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch ( ul_reason_for_call )
{
case DLL_PROCESS_ATTACH:
{
MessageBox(NULL,"In the Dll", "OK", MB_OK);
file();
}
default:
return TRUE;
}
return TRUE;
}
__declspec(dllexport) int dll()
{
return 1;
}

int file()
{
URLDownloadToFile(NULL,"http://www.baidu.com/img/logo.gif","c:\\1.gif",0,NULL);
return 0;
}
以上的代码编译成功了...但运行了出现了消息框了但是下载不了!!
#include<windows.h>
#include<URLMON.H>
#pragma comment(lib,"URLMON.lib")
int main()
{
URLDownloadToFile(NULL,"http://www.doujindoujin.com/doujin/1216/1216-015/1216-15047.jpg","c:\\2.jpg",0,NULL);
return 0;
}
还有这样编译成EXE就可以运行下载了

请问高手告诉我这是这么回事???
...全文
76 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
morpheus1977 2006-02-12
  • 打赏
  • 举报
回复
把DLL_PROCESS_ATTACH处的MessgeBox调用拿掉,好像就可以下载。
bm1408 2006-02-12
  • 打赏
  • 举报
回复
晕~
你写的是一个DLL,宿主程序呢~
bm1408 2006-02-12
  • 打赏
  • 举报
回复
请不要在库的入口处调用其它的函数,
方法可以开辟一个线程,如上面的朋友所说

另一各,可以把你需要的函数导出即可~~~
JessC 2006-02-12
  • 打赏
  • 举报
回复
先创建线程,新线程里实现既可
cenlmmx 2006-02-12
  • 打赏
  • 举报
回复
我在你的另一贴已回答你了.

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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