jonie, спасибо за ответы, я просто подумал что код из http://forum.vingrad.ru/forum/topic-139356/anchor-entry1052976/0.html будет нормально компилится.
Сейчас пытаюсь скомпилировать:
| Код | #include "stdafx.h" #include <wininet.h> #pragma comment(lib, "wininet")
void ddownload(char ot[], char dod[]) { HANDLE ih; ih = InternetOpen("Microsoft Internet Explorer", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0); if (ih == NULL) ih = 0; HANDLE fh, f; char fbuff[512]; DWORD r, d, total; fh = InternetOpenUrl(ih, ot, NULL, 0, 0, 0); if (fh != NULL) { f = CreateFile(dod, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, 0); do { memset(fbuff, 0, sizeof(fbuff)); InternetReadFile(fh, fbuff, sizeof(fbuff), &r); WriteFile(f, fbuff, r, &d, NULL); total = total + r; } while (r > 0); CloseHandle(f); InternetCloseHandle(fh); MessageBox(0,"download complete!","ok",MB_OK); } else { MessageBox(0,"download failed!:(","ok",MB_OK); }
}
|
вешаю на нажатие кнопки
| Код | private void button1_Click(object sender, EventArgs e) { ddownload("http://localhost/logo.jpg", "c:\\logo.jpg"); }
|
При компиляции получаю такие ошибки:
| Код | ------ Build started: Project: nil1, Configuration: Debug Win32 ------ Compiling... wininet.cpp C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\wininet.h(58) : error C2146: syntax error : missing ';' before identifier 'HINTERNET' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\wininet.h(58) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\wininet.h(58) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\wininet.h(59) : error C2143: syntax error : missing ';' before '*' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\wininet.h(59) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\wininet.h(59) : error C2378: 'HINTERNET' : redefinition; symbol cannot be overloaded with a typedef C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\wininet.h(58) : see declaration of 'HINTERNET' ...
C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\wininet.h(665) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\wininet.h(665) : error C2065: 'CONST' : undeclared identifier C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\wininet.h(665) : error C2146: syntax error : missing ')' before identifier 'SYSTEMTIME' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\wininet.h(665) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\wininet.h(669) : error C2059: syntax error : ')' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\wininet.h(671) : error C2146: syntax error : missing ';' before identifier 'DECLSPEC_IMPORT' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\wininet.h(671) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\wininet.h(671) : error C2086: 'int EXTERN_C' : redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\wininet.h(665) : see declaration of 'EXTERN_C' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\wininet.h(671) : error C2146: syntax error : missing ';' before identifier 'BOOL' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\wininet.h(671) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\wininet.h(671) : error C2086: 'int DECLSPEC_IMPORT' : redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\wininet.h(665) : see declaration of 'DECLSPEC_IMPORT' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\wininet.h(671) : error C2146: syntax error : missing ';' before identifier 'STDAPICALLTYPE' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\wininet.h(671) : fatal error C1003: error count exceeds 100; stopping compilation Build log was saved at "file://c:\Documents and Settings\Данил\Мои документы\Visual Studio 2005\Projects\nil1\nil1\Debug\BuildLog.htm" nil1 - 283 error(s), 0 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
|
|