[C++] Pfad auslesen

03/27/2010 19:28 1D2O3M4E5N6I7C8#1
Hey
Ich wollte in der Regitsry mit RegQueryValueEx einen pfad auslesen. Als Beispiel hab ich dann dazu später was im Internet gefunden.
Allerdings bekomme ich immer nur den ersten Buchstaben ausgegeben und nicht den kompletten Pfad. :confused:
So siehts erstmal aus:
Code:
#include <iostream>
#include <windows.h>
#include <stdio.h>

using namespace std;

int main()
{
	unsigned char temp[99] = {""};	
	unsigned long size = sizeof(temp);
	HKEY hKey;
	
	RegOpenKey(HKEY_CURRENT_USER, L"Software\\Microsoft\\MediaPlayer\\Setup\\CreatedLinks", &hKey);
	RegQueryValueEx(hKey, L"AppName", NULL, NULL, temp, &size);
	RegCloseKey(hKey);
	cout << temp;
	system("PAUSE");
	return 0;
}
Ich hoffe einer von euch was wo das Problem liegt.
03/27/2010 20:15 ms​#2
Liegt daran, dass du das Program im Unicode-Format compilest und cout demnach das zweite 0-Byte als Ende des Strings interpretiert.

Code:
wcout << (LPTSTR)temp;
03/27/2010 20:37 MrSm!th#3
du brauchst einen wchar und keinen char
das problem hatte ich am anfang auch
oder nimm RegQueryValueExA