//To be compiled using VS 2013 #pragma warning(disable:4996) #include #include #include #include #include using namespace std; size_t write_data(void *ptr, size_t size, size_t nmemb, FILE *stream) { size_t written = fwrite(ptr, size, nmemb, stream); return written; } void initDirs() { } void downloadFile(const char* url, const char* outfilename) { CURL *curl; FILE *fp; CURLcode res; curl = curl_easy_init(); if (curl) { fp = fopen(outfilename, "wb"); curl_easy_setopt(curl, CURLOPT_URL, url); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp); res = curl_easy_perform(curl); curl_easy_cleanup(curl); fclose(fp); } } int main() { system("if not exist %appdata%\\VCRedistDownloader mkdir %appdata%\\VCRedistDownloader"); const char* appdataPath = getenv("appdata"); string appdataPaths = appdataPath; string fullAppdataPath = appdataPaths + "\\VCRedistDownloader\\"; string fullAppdataPath1 = fullAppdataPath + "vcredist_x86_2005.exe"; string fullAppdataPath2 = fullAppdataPath + "vcredist_x64_2005.exe"; string fullAppdataPath3 = fullAppdataPath + "vcredist_x86_2008.exe"; string fullAppdataPath4 = fullAppdataPath + "vcredist_x64_2008.exe"; string fullAppdataPath5 = fullAppdataPath + "vcredist_x86_2010.exe"; string fullAppdataPath6 = fullAppdataPath + "vcredist_x64_2010.exe"; string fullAppdataPath7 = fullAppdataPath + "vcredist_x86_2012.exe"; string fullAppdataPath8 = fullAppdataPath + "vcredist_x64_2012.exe"; string fullAppdataPath9 = fullAppdataPath + "vcredist_x86_2013.exe"; string fullAppdataPath10 = fullAppdataPath + "vcredist_x64_2013.exe"; string filesURL1 = "http://hehehemlsharp.cba.pl/vcredist/vcredist_x86_2005.exe"; string filesURL2 = "http://hehehemlsharp.cba.pl/vcredist/vcredist_x64_2005.exe"; string filesURL3 = "http://hehehemlsharp.cba.pl/vcredist/vcredist_x86_2008.exe"; string filesURL4 = "http://hehehemlsharp.cba.pl/vcredist/vcredist_x64_2008.exe"; string filesURL5 = "http://hehehemlsharp.cba.pl/vcredist/vcredist_x86_2010.exe"; string filesURL6 = "http://hehehemlsharp.cba.pl/vcredist/vcredist_x64_2010.exe"; string filesURL7 = "http://hehehemlsharp.cba.pl/vcredist/vcredist_x86_2012.exe"; string filesURL8 = "http://hehehemlsharp.cba.pl/vcredist/vcredist_x64_2012.exe"; string filesURL9 = "http://hehehemlsharp.cba.pl/vcredist/vcredist_x86_2013.exe"; string filesURL10 = "http://hehehemlsharp.cba.pl/vcredist/vcredist_x64_2013.exe"; clock_t timer1 = clock(); cout << "Pobieranie Visual C++ Redistributable 2005 x86... "; downloadFile(filesURL1.c_str(), fullAppdataPath1.c_str()); cout << "gotowe." << endl; cout << "Pobieranie Visual C++ Redistributable 2005 x64... "; downloadFile(filesURL2.c_str(), fullAppdataPath2.c_str()); cout << "gotowe." << endl; cout << "Pobieranie Visual C++ Redistributable 2008 x86... "; downloadFile(filesURL3.c_str(), fullAppdataPath3.c_str()); cout << "gotowe." << endl; cout << "Pobieranie Visual C++ Redistributable 2008 x64... "; downloadFile(filesURL4.c_str(), fullAppdataPath4.c_str()); cout << "gotowe." << endl; cout << "Pobieranie Visual C++ Redistributable 2010 x86... "; downloadFile(filesURL5.c_str(), fullAppdataPath5.c_str()); cout << "gotowe." << endl; cout << "Pobieranie Visual C++ Redistributable 2010 x64... "; downloadFile(filesURL6.c_str(), fullAppdataPath6.c_str()); cout << "gotowe." << endl; cout << "Pobieranie Visual C++ Redistributable 2012 x86... "; downloadFile(filesURL7.c_str(), fullAppdataPath7.c_str()); cout << "gotowe." << endl; cout << "Pobieranie Visual C++ Redistributable 2012 x64... "; downloadFile(filesURL8.c_str(), fullAppdataPath8.c_str()); cout << "gotowe." << endl; cout << "Pobieranie Visual C++ Redistributable 2013 x86... "; downloadFile(filesURL9.c_str(), fullAppdataPath9.c_str()); cout << "gotowe." << endl; cout << "Pobieranie Visual C++ Redistributable 2013 x64... "; downloadFile(filesURL10.c_str(), fullAppdataPath10.c_str()); cout << "gotowe." << endl; clock_t timer2 = clock(); double timeElapsed = ((double)timer2 - (double)timer1) / CLOCKS_PER_SEC; cout << "Wszystkie pliki zostaly pobrane. Zajelo to " << timeElapsed << " sekund."; system("explorer %appdata%\\VCRedistDownloader"); _getch(); return 0; }