| Код | typedef HRESULT (WINAPI *DOFILEDOWNLOADEX)(LPCWSTR pwszURL, BOOL bSaveAs); typedef HRESULT (WINAPI *DOFILEDOWNLOAD)(LPCWSTR pwszURL);
//Загрузка файла с помощью диалога эксплорера BOOL DownLoadFileInExplorer(LPCSTR lpcStrUrl) { DOFILEDOWNLOADEX DoFileDownloadEx=NULL; HMODULE hModule=NULL; HRESULT hr; WCHAR cUrlW[INTERNET_MAX_PATH_LENGTH]; int iRes=0;
if (!lpcStrUrl) return 0;//Нам передан 0 указатель
hModule=LoadLibrary("shdocvw.dll");//Подгружаем модуль if (hModule==NULL) return 0;//Модуль не занружен //Конвертируем в UNICODE iRes=MultiByteToWideChar(CP_ACP, 0, lpcStrUrl,-1, cUrlW, ARRAYSIZE(cUrlW)); if (!iRes) return 0;
DoFileDownloadEx = (DOFILEDOWNLOADEX)GetProcAddress(hModule,"DoFileDownloadEx"); if (DoFileDownloadEx==NULL) return 0;
hr=DoFileDownloadEx(cUrlW,TRUE);
if (SUCCEEDED(hr)) return 1;//Если операция подтверждена //FreeLibrary(hModule); return 0;
}
|
Ы? |