Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » C++ Registry

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
10.10.2009, 10:18 Uhr
~TestBenutzer
Gast


Hey,

Ich bin noch recht neu in C++.
Ich muss für ein Programm was ich schreibe in der Registry einen Wert(Pfad) auslesen.
Hier: http://msdn.microsoft.com/en-us/library/ms724875%28VS.85%29.aspx steht ja eigendlich alles, aber ich blick da net mehr durch.
Auch mit Google habe ich viele Ergebnisse gehabt, aber bei mir funktioniert es alles nicht!
Am besten wäre es wenn ich den Wert(pfad) mit cout einfach ausgeben könnte.
Es ist sehr wichtig, ich hoffe ihr könnt mir helfen.

Registry Pfad:
HKEY_LOCAL_MACHINE\\SOFTWARE\\Activision\\Call of Duty 2


mfg
TestBenutzer
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
10.10.2009, 10:30 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Naja

es gibt zwei unterscheidungen:

Values sind das, was eben "als Dateien" drinsteht, also "Name" + "Wert"

um all diese von deinem Registryschlüssel auszulesen, musst du RegEnumValue verwenden.

Um alle "Unterordner" deines Schlüssels auszulesen, musst du RegEnumKeyEx verwenden.

Um deinen Schlüssel überhaupt zu öffnen, nimmst du RegOpenKeyEx

Im Prinzip (in Pseudocode):


Code:
RegOpenKeyEx(deinkey)
while(RegEnumValue != ERROR_NO_MORE_ITEMS)
{
  // einzelne Werte auslesen
}
while(RegEnumKeyEx != ERROR_NO_MORE_ITEMS)
{
  // einzelne Unterschlüssel auslesen, ggf alles rekursiv
  RegOpenKeyEx(deinkey+unterschlüssel)
  // ...
}
CloseHandle


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
14.10.2009, 19:15 Uhr
~TestBenutzer
Gast


Habs immer noch net gepeilt
Ich will einfach nur den wert von InstallPath auslesen und mit cout ausgeben.
Hab jetzt schon alles ausprobiert, aber NIX
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
14.10.2009, 22:39 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


na sags doch gleich:


Code:
key = RegOpenKeyEx("HKEY_LOCAL_MACHINE\\SOFTWARE\\Activision\\Call of Duty 2" ...)
RegQueryValueEx(key, "Install-Path" ...)



beispiel dazu sollte im forum hier zu finden sein, sonst bei google
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
22.10.2009, 14:40 Uhr
~TestBenutzer
Gast


so...
Hab noch ein bisschen gegooglet und etwas rum getestet.
Bis jetzt habe ich:

C++:
#include <windows.h>
#include <stdio.h>

int main()
{
    unsigned char temp[99] = {""};    
    unsigned long size = sizeof(temp);
    HKEY hKey;
    
    RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\Activision\\Call of Duty 2", &hKey);
    RegQueryValueEx(hKey, "InstallPath", NULL, NULL, temp, &size);
    RegCloseKey(hKey);
    system("PAUSE");
        return 0;
}

Kommt auch kein Error :clap:
Jetzt is die Frage wie krige ich den Pfad mit cout aus?
Hab ja gesagt bin noch ein noob :D
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
22.10.2009, 15:29 Uhr
~TestBenutzer
Gast


ok Danke
hat sich schon erledigt:
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: