Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Registry key auslesen O_o

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 < [ 2 ]
000
30.05.2006, 19:12 Uhr
~Rainbox
Gast


Hallo,

weiß jemand wie man einen binär wert aus einem Registry schlüssel auslesen kann???
Wäre sehr hilfreich wenn das klappen würde. habe es schon mit RegEnumValue(); probiert, aber irgendwas klappt da nicht, kommt ständig ne Fehlermeldung...

Danke im Vorraus
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.05.2006, 19:28 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


hi wie haste es denn probiert?
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.05.2006, 19:49 Uhr
~Rainbox
Gast


Mah ich hab das jetzt gelöscht(vor wut)....halt nach der MSDN....bloß ein wert wa falsch...

bin ich da überhaupt richtig mit der funktion?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
31.05.2006, 12:09 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


RegEnumValue listet dir nur verfügbare keys auf. RegQueryValue liefert dir den Wert eines bestimmten
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
01.06.2006, 16:16 Uhr
~Rainbox
Gast


Hallo nochmal,

also RegEnumValue habe ich jetzt hinbekommen, aber das bringt mir nichts

Ich will zb das mir das Programm eine Reihe von schlüsseln ausliest(ab einem Bestimmten)
so in etwa:

Der soll mir alles schlüssel von CurrentVersion auslesen.

Wenn er einen gefunden hat, soll er mir dann zb:

von PresentiveCache den Wert ausgeben.

Hoffe ihr versteht was ich meine, hier mein Ansatz:

C++:
          RegOpenKey(hKey,lpSubKey,phkResult);
          
          RegQueryValue(
                     hKey, // HKEY_CURRENT_USER
                     lpSubKey, //\\Software\\Microsoft\\Windows\\CurrentVersion
                     szBuffer, // char szBuffer[100]
                     lpcbValue);//DAS KAPIER ICH AUCH NET SO GANZ WAS DA REIN SOLL
          cout << szBuffer; // ich dachte mir das er den ersten unterschlüssel in szBuffer speichert O_o, aber dem ist nicht so


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
01.06.2006, 16:38 Uhr
xXx
Devil


Nunja... du machst es falsch


C++:
::HKEY hKey;
char szBuffer[100];
DWORD dwLen = 100;
RegOpenKeyEx(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Windows\\CurrentVersion"), 0, KEY_QUERY_VALUE, &hKey);
::RegQueryValue(hKey, _T("Presentation Cache"), szBuffer, &dwLen);


Referenzen:
RegQueryValue
RegOpenKeyEx

Dieser Post wurde am 01.06.2006 um 16:38 Uhr von xXx editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
01.06.2006, 16:43 Uhr
Spacelord
Hoffnungsloser Fall


1. Mit RegOpenKeyEx den Schlüssel öffnen.
2. Mit RegQueryInfoKey die Anzahl der Subschlüssel und der Werte besorgen.
3. Mit RegEnumKeyEx die Namen der Unterschlüssel besorgen.
4. Mir RegEnumValue und RegQueryValue die Werte auslesen.

Da die Registry ne rekursive Struktur ist und deine Unterschlüssel weitere Unterschlüssel haben können solltest du das ganze auch entsprechend auslegen.

Gruss Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
01.06.2006, 21:27 Uhr
~Rainbox
Gast


Danke für die Antworten...

zwei sachen:

1)


C++:
::HKEY hKey;
char szBuffer[100];
DWORD dwLen = 100;
RegOpenKeyEx(HKEY_CURRENT_USER, _T("Software\\Microsoft\\Windows\\CurrentVersion"), 0, KEY_QUERY_VALUE, &hKey);
::RegQueryValue(hKey, _T("Presentation Cache"), szBuffer, &dwLen);


Dev-cpp sagt mir "_T undeclared"!

2)
Ich glaube mein Problem ist, dass ich wohl die MSDN nicht ganz kapiere(zumindest dies hier alles).
Habe mir in der Registry einen Schlüssel mit 2 subkeys erstellt und jeweils einen Binärwert eingetragen.(Wert)
Also hier mal die einzelnen Codes:



C++:
          HKEY hKey;
          LPTSTR lpSubKey = "\\MainKey";
          char lpSubKeyName[100];
          LPDWORD lpcSubKeys;
          LPDWORD lpcValues;
          DWORD *dwSize;
          //ÖFFNEN
          RegOpenKeyEx(
                       HKEY_CURRENT_USER,
                       lpSubKey,
                       0,
                       KEY_QUERY_VALUE,
                       &hKey);
          //SubKey Anzahl holen...          
          RegQueryInfoKey(
                          HKEY_CURRENT_USER,
                          lpSubKey,
                          NULL,
                          0,
                          lpcSubKeys,
                          NULL,
                          NULL,
                          lpcValues,
                          NULL,
                          NULL,
                          NULL,
                          NULL
                          );
          //subkeynamen holen, einen!
          RegEnumKeyEx(
                       HKEY_CURRENT_USER,
                       0,
                       lpSubKeyName,
                       dwSize,
                       0,
                       NULL,
                       NULL,
                       NULL
                       );



So wenn ich jetzt gucke liefert mir RegQueryInfoKey() 0 zurück
und das untere sowieso nichts....warum peil ich das nicht, sonst klappt auch alles....Keys zufügen und so klappt ohne probleme.
Danke das ihr mein nerven ertragt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
01.06.2006, 21:27 Uhr
~Rainbox
Gast


Sorry ich meinte liefert nicht 0 zurück sondern lpcSubKeys ist 0
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
01.06.2006, 21:29 Uhr
xXx
Devil


bei meinem bsp. kannst de auch das _T(...) weg lassen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ 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: