#include <iostream>
#include <windows.h>
#include <urlmon.h>
#include <string>
#include <direct.h>
#include "unzip.h"
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:\\Programme\\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:\\Programme\\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 remove()
{
remove("C:\\Programme\\DeckButler.zip");
remove("C:\\Programme\\Programmdateien.zip");
cout << "Dateien geloescht" << endl;
system("PAUSE");
cout << endl;
}
void unzip1()
{
HZIP hz = OpenZip("C:\\Programme\\DeckButler.zip",0);
ZIPENTRY ze; GetZipItem(hz,-1,&ze); int numitems=ze.index;
for (int i=0; i<numitems; i++)
{
std::string szBasePath = "C:\\Programme\\Test\\";
szBasePath += ze.name;
GetZipItem(hz,i,&ze);
UnzipItem(hz,i,ze.name);
}
CloseZip(hz);
}
void unzip2()
{
//
HZIP hz = OpenZip("C:\\Programme\\Programmdateien.zip",0);
ZIPENTRY ze; GetZipItem(hz,-1,&ze); int numitems=ze.index;
for (int i=0; i<numitems; i++)
{ GetZipItem(hz,i,&ze);
UnzipItem(hz,i,ze.name);
}
CloseZip(hz);
}
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);
}
void login()
{
string passwort;
cout << "Passwort:";
cin >> passwort;
if(passwort=="DB")
{
deckbutler();
programmdateien();
unzip1();
unzip2();
remove();
start();
}
else
{
cout << "Login failed" << endl;
system("PAUSE");
}
}
int main()
{
login();
}