Для скачивания файла, я пытался использовать функциию URLDownloadToFile(), текстовый документ и фото, она скивает нормально, но при скачивании .exe файлов или архивов, скачивает лишь ~39 кб. В чём может быть проблема?
Вот код:
#include <string>
#include <WinInet.h>
#include <urlmon.h>
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable:4996)
#pragma comment(lib, "urlmon.lib")
#pragma comment(lib,"Wininet.lib")
#define CURL_STATICLIB
using namespace std;
class DownloadProgress : public IBindStatusCallback {
public:
HRESULT __stdcall QueryInterface(const IID &, void **) {
return E_NOINTERFACE;
}
ULONG STDMETHODCALLTYPE AddRef(void) {
return 1;
}
ULONG STDMETHODCALLTYPE Release(void) {
return 1;
}
HRESULT STDMETHODCALLTYPE OnStartBinding(DWORD dwReserved, IBinding *pib) {
return E_NOTIMPL;
}
virtual HRESULT STDMETHODCALLTYPE GetPriority(LONG *pnPriority) {
return E_NOTIMPL;
}
virtual HRESULT STDMETHODCALLTYPE OnLowResource(DWORD reserved) {
return S_OK;
}
virtual HRESULT STDMETHODCALLTYPE OnStopBinding(HRESULT hresult, LPCWSTR szError) {
return E_NOTIMPL;
}
virtual HRESULT STDMETHODCALLTYPE GetBindInfo(DWORD *grfBINDF, BINDINFO *pbindinfo) {
return E_NOTIMPL;
}
virtual HRESULT STDMETHODCALLTYPE OnDataAvailable(DWORD grfBSCF, DWORD dwSize, FORMATETC *pformatetc, STGMEDIUM *pstgmed) {
return E_NOTIMPL;
}
virtual HRESULT STDMETHODCALLTYPE OnObjectAvailable(REFIID riid, IUnknown *punk) {
return E_NOTIMPL;
}
virtual HRESULT __stdcall OnProgress(ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText)
{
wcout << ulProgress << L" of " << ulProgressMax;
if (szStatusText) wcout << " " << szStatusText;
wcout << endl;
return S_OK;
}
};
int main(int argc, CHAR* argv[])
{
DownloadProgress progress;
DeleteUrlCacheEntry("http://rgho.st/download/8ttl8H2QN/04f41ad9cdf0e7ebb733475286c589e6de018bb3/04f41ad9cdf0e7ebb733475286c589e6de018bb3/Sdf23sq232.rar");
HRESULT hr = URLDownloadToFile(0,"http://rgho.st/download/8ttl8H2QN/04f41ad9cdf0e7ebb733475286c589e6de018bb3/04f41ad9cdf0e7ebb733475286c589e6de018bb3/Sdf23sq232.rar","src.rar", 0,static_cast<IBindStatusCallback*>(&progress));
system("pause");
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Возможно ли средствами WinApi узнать, что запущенный процесс полностью загрузился?
У меня имеется класс Gene, который трансформирует математическое выражение вида ( x + 3 ) в ,например, массив array={"+","x","3",null,null,
Добрый день, нужно написать то, что позволит подключиться к https://apihh
Есть массив значений(координат), как передать его в метод paint, чтобы он отрисовывал по этим координатам? Обычной передачей параметров нельзя...