REG - Key auslesen
-
script1 schrieb:
HKEY hKey=HKEY_LOCAL_MASCHINE;
Zunächst gibt es sicher kein HKEY_LOCAL_MASCHINE. Ob es "Pfad" und "Schlüssel"
auf Deinem Rechner wirklich gibt musst Du selber prüfen.Auch sollte man eigentlich wissen was für ein Variablentyp man erwatet; hier
vermutlich REG_SZ.Der Rückgabewert könnte laut Doku ein Unicode string sein - char wäre also etwas zu klein.
Ein Anfang könnte dann so aussehen:
HKEY hKey=HKEY_LOCAL_MACHINE; LPCTSTR lpSubKey=_T("Pfad"); LPCTSTR lpValueName=_T("Schlüssel"); TCHAR cDaten[256]; DWORD dwData = sizeof(cDaten);
Statt TCHAR würde auch wchar Sinn machen.
-
Soo hab alles hin bekommen. Vielen Dank für eure Hilfe!
-
Am besten postest du die Lösung noch, damit andere später auch mal was davon haben.
-
Klar kann ich machen
HKEY hKey; DWORD dsData = 256; BYTE cDaten[256]=""; RegOpenKeyEx(HKEY_LOCAL_MASCHINE,"Pfad\\zum\\Schluessel",0,KEY_ALL_ACCESS,&hKey); RegQueryValueEx(hKey,"Reg_SZ - Wert",0,0,cDaten,&dwData); RegCloseKey(hKey);
Da meine Frage hier ja war wo nun die Daten drinnen stehen ist natürlich die Antwort "cDaten". :p
-
HKEY_LOCAL_MASCHINE ist aber nach wie vor falsch. Steht das so wirklich in deinem Source?? Der Pfad heißt eigentlich HKEY_LOCAL_MACHINE.
-
script1 schrieb:
Klar kann ich machen
HKEY hKey; DWORD dsData = 256; BYTE cDaten[256]=""; RegOpenKeyEx(HKEY_LOCAL_MASCHINE,"Pfad\\zum\\Schluessel",0,KEY_ALL_ACCESS,&hKey); RegQueryValueEx(hKey,"Reg_SZ - Wert",0,0,cDaten,&dwData); RegCloseKey(hKey);
Da meine Frage hier ja war wo nun die Daten drinnen stehen ist natürlich die Antwort "cDaten". :p
Laut Doku liegen die Daten in cDaten aber als WCHAR und nicht als Byte vor.
Auch ist es sicher nicht gesund 256 an mehreren Stellen als Zahl zu kodieren.
-
Nachtrag:
Visual Studio kommentiert das so:
HKEY_LOCAL_MASCHINE nicht definiert
"Pfad\\zum\\Schluessel" const char* inkompatibel
dwData nicht definiert
-
HKEY_LOCAL_MA
SCHINEAnsonsten Grundlagen lernen...
-
Martin Richter schrieb:
HKEY_LOCAL_MA
SCHINEAnsonsten Grundlagen lernen...
Das ist meistens richtig, Ich würde aber hier entweder von Vorsatz oder Schlampigkeit beim Posten der (vermeintlichen) Lösung ausgehen.
Ich kann mir ansonsten nicht erklären wie es sein kann, das JEDE gepostet Zeile des Threadstellers Schrott ist.
-
Es wurde halt abgetippt statt kopiert. Sieht man z.B. auch an dsData statt dwData. 's' ist ganz in der Nähe von 'w'. Sowas passiert auch immer wieder, und wir unterhalten uns dann seitenlang über die blöden Tippfehler.