关于URLDownloadToFile的用法

dyh1919 2007-03-26 12:44:41
刚学MFC,在网上看到有这个函数可以下载文件,尝试着给一个按钮加上了这个OnUpdate函数,可是总是不能成功下载,每次显示出来的都是 "网络连接失败.";

在网上找了很多资料都没看出哪里出错了,大家帮忙看看呢~~
================================

void CSysinfoDlg::OnUpdate()
{
// TODO: Add your control notification handler code here

GetDlgItem(IDC_VER)->SetWindowText("检查是否有新版本...");
HRESULT ret = URLDownloadToFile(NULL,"http://www.blon.cn/systeminfo/update/version.ini","c:\\version.ini",0,NULL);

if(ret == S_OK) //如果下载成功
{
// 读取Version 段的数据,得到新版本好
int newversion=GetPrivateProfileInt("Version","Version",10,"c:\\version.ini");
if (newversion > 10) //跟当前版本比较,10表示目前版本V1.0 ,根据具体版本自己设置
{
GetDlgItem(IDC_VER)->SetWindowText("有新版提供下载,现在开始更新.");
GetPrivateProfileString("URL","URL",0,"http://www.blon.cn/systeminfo/systeminfo.exe ",100,"c:\\version.ini");
ShellExecute(this->m_hWnd,"open","http://www.blon.cn/systeminfo/systeminfo.exe ",NULL,"c:\\",SW_SHOW);
}
else
GetDlgItem(IDC_VER)->SetWindowText("Sorry, There is no new version for this program.");

DeleteFile("c:\\version.ini"); // 用完后删除

}
if(E_OUTOFMEMORY)
GetDlgItem(IDC_VER)->SetWindowText("网络连接失败.");
else
GetDlgItem(IDC_VER)->SetWindowText("无法更新软件");
}
...全文
1094 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
小惡魔DSL 2010-05-14
  • 打赏
  • 举报
回复
if(E_OUTOFMEMORY) <<<<--- ? 这是?
flstx 2007-04-27
  • 打赏
  • 举报
回复
CoInitialize(NULL);
HRESULT ret , ret2;
ret = URLDownloadToFile(NULL,"http://www.cuteqq.cn/version.ini","c:\\version.ini",0,NULL);
if(ret == S_OK)
{
int newversion=GetPrivateProfileInt("Version","Version",10,"c:\\version.ini");
if (newversion > 10)
{
MessageBox("服務器已有新版本!","提示",MB_OK);
ret2 = URLDownloadToFile(NULL,"http://www.flstx.com/Yyznm.rar","C:\\Yyznm.rar",0,NULL);
WinExec("C:\\Yyznm.rar",SW_SHOW);
}
else
MessageBox("無需更新!","提示",MB_OK);
DeleteFile("c:\\version.ini");
}
if(E_OUTOFMEMORY)
MessageBox("网络连接失败","提示",MB_OK);
else
MessageBox("无法更新软件","提示",MB_OK);


請問,我這段代碼有什麼不對嗎,

怎麼老是提示,網絡連接失敗呢!!!
finalwei 2007-04-04
  • 打赏
  • 举报
回复
CoInitialize(NULL); 初始化接口。。我前几天也是这个问题。

回LS的 要URLmon.h 还要包含下URLmon.lib
flstx 2007-04-01
  • 打赏
  • 举报
回复
URLDownloadToFile

请问需要包含什么头文件
dyh1919 2007-03-26
  • 打赏
  • 举报
回复
文题原因已经找到...........
coldplay968 2007-03-26
  • 打赏
  • 举报
回复
CoInitialize(NULL);
CString m_strAdIniFileURL , strFileName;
HRESULT val;
DWORD dwReserved(0);
m_strAdIniFileURL=_T("http://www.vckbase.com/code/winview/winmng/subclassvck.rar");
strFileName =_T("Ad.ini");

val=URLDownloadToFile(NULL,m_strAdIniFileURL,"c:\\Ad.ini",dwReserved,0);

你可能没有这句 CoInitialize(NULL);
你看下返回的值是否正确
jjkezl 2007-03-26
  • 打赏
  • 举报
回复
lz反应很快啊.^_^

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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