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 werden 😡

    google.de/search?hl=de&safe=off&hs=o6D&rls=de&q=c%2B%2B+aktuellen+user+ermitteln&meta=&aq=f&aqi=&aql=&oq=&gs_rfai=

    Gleich das erste Ergebnis beinhaltet die Lösung 👎


Anmelden zum Antworten