File Download
-
So habe nun mal mithilfe von google und einer schönen C"Bibel" etwas weiter gemacht...
Nun möchte ich jedoch,dass die Dateien in C:\Dokumente und Einstellungen\USER\Eigene Dateien\ entpackt wird nur das klappt nicht soo wirklich könntet ihr mir dabei etwas helfen
Habe nun versucht den User mithilfe von "%USERPROFILE%" zu bestimmen aber es scheint nicht zu klappen [cpp] hier mal der Code ich hoffe mal,dass ihr mir helfen könnt #include <iostream> #include <cstdlib.> #include <windows.h> #include <urlmon.h> #include <string> #include <direct.h> #include "unzip.h" //zum entpacken nötig using namespace std; #pragma comment(lib,"URLMon.lib") void deckbutler() { // Datei herunterladen HRESULT result = URLDownloadToFile( NULL, TEXT("http://home.arcor.de/Terra23/DeckButler/DeckButler.zip"), // URL zur Datei TEXT("C:\\Dokumente und Einstellungen\\%USERPROFILE%\\Eigene Dateien\\DeckButler\\DeckButler.zip"), // Lokaler Name der Datei 0, NULL); if (result == S_OK) { cout << "DeckButler.zip erfolgreich heruntergeladen" << endl; system("PAUSE"); cout << endl; } else { cout << "Fehler beim Download" << endl; system("PAUSE"); } } void programmdateien() { // Datei herunterladen HRESULT result2 = URLDownloadToFile( NULL, TEXT("http://home.arcor.de/Terra23/DeckButler/Programmdateien.zip"), // URL zur Datei TEXT("C:\\Dokumente und Einstellungen\\%USERPROFILE%\\Eigene Dateien\\DeckButler\\Programmdateien.zip"), // Lokaler Name der Datei 0, NULL); if (result2 == S_OK) { cout << "Programmdateien.zip erfolgreich heruntergeladen" << endl; system("PAUSE"); cout << endl; } else { cout << "Fehler beim Download" << endl; system("PAUSE"); } } void start() { cout << "Programm starten? (j/n): "; char input = ' '; while ((input != 'j') && (input != 'J') && (input != 'n') && (input != 'N')) { cin.sync(); cin.get(input); } if (input == 'j' || input == 'J') { ShellExecute(NULL,"open","DeckButler.exe",NULL,NULL,SW_SHOWNORMAL); } else { } } void remove() { remove("C:\\Dokumente und Einstellungen\\%USERPROFILE%\\Eigene Dateien\\DeckButler\\DeckButler.zip"); remove("C:\\Dokumente und Einstellungen\\%USERPROFILE%\\Eigene Dateien\\DeckButler\\Programmdateien.zip"); cout << "Dateien geloescht" << endl; system("PAUSE"); cout << endl; } void unzipdb() { HZIP hz = OpenZip("C:\\Dokumente und Einstellungen\\%USERPROFILE%\\Eigene Dateien\\DeckButler\\DeckButler.zip",0); ZIPENTRY ze; GetZipItem(hz,-1,&ze); int numitems=ze.index; for (int i=0; i<numitems; i++) { GetZipItem(hz,i,&ze); //std::string szBasePath = "C:\\Programme\\DeckButler\\"; std::string szBasePath = "C:\\Dokumente und Einstellungen\\%USERPROFILE%\\Eigene Dateien\\DeckButler\\"; szBasePath += ze.name; UnzipItem(hz, i, szBasePath.c_str()); //UnzipItem(hz, i, ze.name); } CloseZip(hz); } void unzippd() { HZIP hz = OpenZip("C:\\Dokumente und Einstellungen\\%USERPROFILE%\\Eigene Dateien\\DeckButler\\Programmdateien.zip",0); ZIPENTRY ze; GetZipItem(hz,-1,&ze); int numitems=ze.index; for (int i=0; i<numitems; i++) { GetZipItem(hz,i,&ze); //std::string szBasePath = "C:\\Programme\\DeckButler\\"; std::string szBasePath = "C:\\Dokumente und Einstellungen\\%USERPROFILE%\\Eigene Dateien\\DeckButler\\"; szBasePath += ze.name; UnzipItem(hz, i, szBasePath.c_str()); //UnzipItem(hz, i, ze.name); } CloseZip(hz); } void login() { /*string passwort; cout << "Passwort:"; cin >> passwort; if(passwort=="db") {*/ deckbutler(); programmdateien(); unzipdb(); unzippd(); remove(); start(); /*} else { cout << "Login failed" << endl; system("PAUSE"); }*/ } int main() { login(); }
-
Benutze doch mal eine Suchmaschine
In diesem Forum sollen programmiertechnische Probleme gelöst werden,
und nicht dauerhaft und vor allem immer beim Gleichen auf Google verwiesen werdenGleich das erste Ergebnis beinhaltet die Lösung