ファイルをWindowsにダウンロードするプログラムを作成しています。そのために、urlmon と urldownload to file 関数を使用しました。Windows で問題の関数を含むファイルをダウンロードするたびに、プリフェッチ ファイルしか取得できませんが、ハード ドライブにファイルが見つかりません。私が間違っていることを教えてください。
#include <windows.h>
#include <stdio.h>
typedef HRESULT (WINAPI *UDTF)(LPVOID, LPCTSTR, LPCTSTR, DWORD, LPVOID);
int dl_url(char *url, char *path)
{
int q = 1;
HMODULE hDll;
UDTF URLDownloadToFile;
if((hDll = LoadLibrary("urlmon")))
{
if((URLDownloadToFile = (UDTF)GetProcAddress(hDll, "URLDownloadToFileA")))
{
if(URLDownloadToFile(0, url, path, 0, 0) == 0)
q = 0;
}
FreeLibrary(hDll);
}
return q;
}
注: このプログラムのテストには 32 ビット Windows XP を使用しています。