#include <iostream>
#include <tchar.h>
#include <urlmon.h>
#pragma comment (lib,"urlmon.lib")
int main()
{
HRESULT hr = URLDownloadToFile(NULL,
_T("https://img-blog.csdnimg.cn/202101131615038854.png"),
_T(".\\mm.png"),
0,
NULL);
// COM functions that return HRESULT values less than zero (failure codes) generate exceptions.
// 等于 0 表示成功,小于 0 表示失败, 大于 0 的值表示有其它错误,
// S_OK、S_FALSE 都表示成功, 更多说明查看以下链接
// https://www.cnblogs.com/keanuyaoo/p/3320025.html
// https://docs.microsoft.com/zh-cn/previous-versions/visualstudio/visual-studio-2010/bb164625(v=vs.100)
// 正确的方法是使用宏来作判断 SUCCEEDED(hr) \ FAILED(hr), 或者 判断是否==0
if (FAILED(hr))
{
std::cout << "返回值:" << hr << " 下载失败!\n";
return -1;
}
std::cout << "返回值:" << hr << " 下载成功!\n";
return 0;
}