In unbekannten Ordner springen

s0me

Grünschnabel
Hallo liebe Community!

Folgendes, ich bin gerade dabei ein Backup Programm zu schreiben.
Zurzeit möchte ich die Passwörter von meinem Mozilla Firefox (2.0) auf den Desktop kopieren, sodass ich nach dem formatieren diese wieder einfügen kann und ich somit wieder alle meine Passwörter im Mozilla Firefox habe.

Soweit, sogut.

Das klappt bis jetzt auch alles ohne Probleme.

Code:
#include <windows.h>
#include <sstream>

using namespace std;

string mozillapfad()
{
unsigned char pfad[MAX_PATH];  
unsigned long groesse=sizeof(pfad);
HKEY mozilla;
RegOpenKey(HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders",&mozilla);
RegQueryValueEx(mozilla,"AppData",NULL,NULL,pfad,&groesse);
RegCloseKey(mozilla);
stringstream pfadstream;
pfadstream<<pfad;
return pfadstream.str();
}

void kopieren()
{
string pfad1=mozillapfad()+"\\Mozilla\\Firefox\\Profiles\\26daqxfh.default\\signons2.txt";
string pfad2=mozillapfad()+"\\Mozilla\\Firefox\\Profiles\\26daqxfh.default\\key3.db";
CopyFile(pfad1.c_str(),"signons2.txt",true);
CopyFile(pfad2.c_str(),"key3.db",true);
}

int main()
{
    kopieren();
    return 0;
}

Allerdings heisst der Ordner '26daqxfh.default' indem ja die beiden Dateien sind, die ich kopieren möchte, nicht bei jedem User gleich.

Wie kriege ich nun eine Überbrückung hin?
Also wie springe ich in diesen Ordner, wenn ich den Namen davon nicht kenne?
Gibt es extra für diesen Ordner vllt. einen Registry Eintrag?
Oder hat jemand vllt. eine extra Funktion dafür?

Wäre für Hilfe sehr dankbar.

ps: Dieses Programm schreibe ich aus reinem Lern-Effekt, ich möchte damit keinem User schaden zufügen.
 
Hallo liebe Community!

Folgendes, ich bin gerade dabei ein Backup Programm zu schreiben.
Zurzeit möchte ich die Passwörter von meinem Mozilla Firefox (2.0) auf den Desktop kopieren, sodass ich nach dem formatieren diese wieder einfügen kann und ich somit wieder alle meine Passwörter im Mozilla Firefox habe.

Soweit, sogut.

Das klappt bis jetzt auch alles ohne Probleme.

Code:
#include <windows.h>
#include <sstream>

using namespace std;

string mozillapfad()
{
unsigned char pfad[MAX_PATH];  
unsigned long groesse=sizeof(pfad);
HKEY mozilla;
RegOpenKey(HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders",&mozilla);
RegQueryValueEx(mozilla,"AppData",NULL,NULL,pfad,&groesse);
RegCloseKey(mozilla);
stringstream pfadstream;
pfadstream<<pfad;
return pfadstream.str();
}

void kopieren()
{
string pfad1=mozillapfad()+"\\Mozilla\\Firefox\\Profiles\\26daqxfh.default\\signons2.txt";
string pfad2=mozillapfad()+"\\Mozilla\\Firefox\\Profiles\\26daqxfh.default\\key3.db";
CopyFile(pfad1.c_str(),"signons2.txt",true);
CopyFile(pfad2.c_str(),"key3.db",true);
}

int main()
{
    kopieren();
    return 0;
}

Allerdings heisst der Ordner '26daqxfh.default' indem ja die beiden Dateien sind, die ich kopieren möchte, nicht bei jedem User gleich.

Wie kriege ich nun eine Überbrückung hin?
Also wie springe ich in diesen Ordner, wenn ich den Namen davon nicht kenne?
Gibt es extra für diesen Ordner vllt. einen Registry Eintrag?
Oder hat jemand vllt. eine extra Funktion dafür?

Wäre für Hilfe sehr dankbar.

ps: Dieses Programm schreibe ich aus reinem Lern-Effekt, ich möchte damit keinem User schaden zufügen.

Moin,

bis hier hin:
Code:
string pfad1=mozillapfad()+"\\Mozilla\\Firefox\\Profiles\\xxx";
ist der Pfad bekannt, gelle ;)
Also -> alles unterhalb dieses Pfades auf die gewünschten Dateien durchsuchen, bei Fund kopieren, fertich :)
Stichwort -> Dateien suchen / Verzeichnisoperationen.


grüssle :)
 
Ich weiss ja nicht wie Wichtig es dir ist das Programm selber zu schreiben,
aber ansonsten könntest du auch MozBackup nehmen, das kopiert alle Einstellungen,
extensions, Links etc.
Skini
 
Ich weiss ja nicht wie Wichtig es dir ist das Programm selber zu schreiben,
aber ansonsten könntest du auch MozBackup nehmen, das kopiert alle Einstellungen,
extensions, Links etc.
Skini

Ja, davon habe ich auch schon gehört.
Aber es ging mir hierbei ja ums lernen, darum würde ichs gern selbst versuchen :)
 
Zurück