Aus registry auslesen

Hallo!

Dank Christiane funktioniert das jetzt mit dem Erzeugen des Keys.
Aber ich schaff es einfach nicht den Wert aus der Registry auszulesen.
Ich will den Pfad der unter dem Eintrag PathInputFile ja schon drinnen steht in einen CString bekommen. Kann mir wieder jemand helfen?
Vielen Dank für eure Hilfe.
Andrea

HKEY hKey = HKEY_CURRENT_USER;
CString strPath;

RegOpenKeyEx(HKEY_CURRENT_USER,„Software\Ados\ChequeLoader“,0,KEY_ALL_ACCESS,&hKey);
RegQueryValueEx(hKey,„PathInputFile“,0,NULL,(LPBYTE) strPath.GetBuffer(strPath.GetLength()), (LPDWORD)strPath.GetLength());
AfxMessageBox(strPath);
RegCloseKey(hKey);

Hallo Andrea,
freut mich das das Schreiben jetzt klappt, das Lesen kriegen wir auch noch hin.
RegQueryValue muss zweimal aufgerufen werden, beim ersten Mal erhält man als Rückgabe den Typ des Schlüssels und die Länge.
Danach wird die Funktion nochmal aufgerufen, diesmal mit dem passenden Parameter für den Inhalt des Schlüssels. Im Beispiel siehst Du Aufrufe für die Datentypen String und DWord.

Viel Spass
Christiane

long lResult = 0;
HKEY hKey;

DWORD dwValueType = 0;
DWORD dwValueLen = 0;
CString strValue;
DWORD dwValue;

lResult = RegOpenKeyEx(HKEY_CURRENT_USER,„Software\Ados\ChequeLoader“,0,KEY_ALL_ACCESS,&hKey) ;
if (lResult == ERROR_SUCCESS)
{
lResult = RegQueryValueEx(hKey, „PathInputFile“, 0, &dwValueType, 0, &dwValueLen);
if (lResult == ERROR_SUCCESS)
{
if (dwValueType == REG_SZ)
{
LPSTR lpReturnStr = new char[dwValueLen];
lResult = RegQueryValueEx(hKey, „PathInputFile“, 0, &dwValueType, (unsigned char *)lpReturnStr, &dwValueLen);
if (lResult == ERROR_SUCCESS)
{
strValue = lpReturnStr;
}
delete lpReturnStr;
}
if (dwValueType == REG_DWORD)
{
lResult = RegQueryValueEx(hKey, strName, 0, &dwValueType, (unsigned char *)&dwValue, &dwValueLen);
}
}
RegCloseKey (hKey);

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]