Hallo Gemeinde,
ich versuche schon seit Tagen verzweifelt einen Wert aus der Registry zu lesen und komplett auszugeben. Ich habe folgenden Code mit Visual C++ 2008 erstellt:
value ist der Puffer, in den er den Registrywert schreibt. Er liest den Wert auch komplett aus, gibt mir auf dem Bildschirm allerdings nur das erste Zeichen des Wertes aus. Wenn ich cout << value mit z.B. cout << value[4] ersetze, gibt er mir das 3. Zeichen des Wertes aus. Mit einer while-Schleife kann ich das mit der Ausgabe über Umwege natürlich hinbekommen, aber ich möchte den Wert auch mit einem anderen vergleichen. Wie kann ich den Puffer value jetzt in einen String schreiben um ihn komplett auszugeben oder auch vergleichen zu können?
Vielen Dank schon mal für Eure Bemühungen
VG Eric
ich versuche schon seit Tagen verzweifelt einen Wert aus der Registry zu lesen und komplett auszugeben. Ich habe folgenden Code mit Visual C++ 2008 erstellt:
Code:
#include <iostream>
#include <windows.h>
using namespace ::std;
int main (int argc, char *argv[])
{
HKEY hKey;
BYTE value[99] = {0};
DWORD lengh = sizeof(value);
RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("Software\\7-Zip"), 0, KEY_QUERY_VALUE, &hKey);
RegQueryValueEx(hKey, TEXT("Path"), NULL, NULL, value, &lengh);
cout << value << endl;
RegCloseKey(hKey);
getchar();
};
value ist der Puffer, in den er den Registrywert schreibt. Er liest den Wert auch komplett aus, gibt mir auf dem Bildschirm allerdings nur das erste Zeichen des Wertes aus. Wenn ich cout << value mit z.B. cout << value[4] ersetze, gibt er mir das 3. Zeichen des Wertes aus. Mit einer while-Schleife kann ich das mit der Ausgabe über Umwege natürlich hinbekommen, aber ich möchte den Wert auch mit einem anderen vergleichen. Wie kann ich den Puffer value jetzt in einen String schreiben um ihn komplett auszugeben oder auch vergleichen zu können?
Vielen Dank schon mal für Eure Bemühungen

VG Eric