?
Ich habe noch eine Frage, möchte dafür aber nicht unbedingt einen neuen Thread öffnen.
Ich würde mir gern noch die Config auf den Desktop kopieren.
Also:
Steampfad lesen, Steam.log lesen und den Accountnamen in String speichern.
Mithilfe des Strings die Configdatei finden.
Die dann kopieren und direkte Kopie davon in den Ordner wo auch das Programm ist, erstellen.
-> Steampfad über Regedit (z.B. C:\\Spiele\\Steam\)
-> Dann Steam.log auslesen wegen dem Accountnamen (ist ja bei jedem anders)
-> Das sieht dann so z.B. aus: C:\\Spiele\\Steam\\ACCOUNTNAME\\
-> Hinter dem Accountnamen noch den String "cstrike" setzten
-> Sieht dann so aus: C:\\Spiele\\Steam\\ACCOUNTNAME\\cstrike\\
-> Und genau in dem Ordner gibt es eine Datei die "config.cfg" heisst
-> Er liest alle Daten aus der "config.cfg" und erstellt dann eine "config.txt" im Ordner des Tools mit dem eingelesenen Inhalt.
Kann mir jemand erklären wie ich das hinkriege?
Habe den Code zurzeit so:
string getSteamPath()
{
unsigned char temp[99] = {""};
unsigned long size = sizeof(temp);
HKEY hKey;
RegOpenKey(HKEY_CURRENT_USER, "Software\\Valve\\Steam", &hKey);
RegQueryValueEx(hKey, "ModInstallPath", NULL, NULL, temp, &size);
RegCloseKey(hKey);
stringstream tmpStrm;
tmpStrm << temp;
return tmpStrm.str();
}
int main()
{
string path = getSteamPath() + "\\config.txt";
const char *outFilePath = "config.txt";
ifstream inFile(path.c_str());
ofstream outFile(outFilePath);
string line;
while (getline(inFile, line))
{
if (line.find("//") != string::npos|| line.find("bind") != string::npos)
{
outFile<<line<<endl;
}
}
inFile.close();
outFile.close();
return 0;
}
Allerdings steht der Pfad nicht bei jedem in der Regedit.
Der "HKEY_LOCAL_MACHINE\\Software\\Valve\\Steam\\InstallPath" dafür schon!
(natürlich vorrausgesetzt Steam ist auch installiert.)