Eigene Dateien Ordner aus Registry lesen

Moin,
wie ich aus der Registry von Meinem Programm die Einträge ermittle, ist mir klar. Nun bearbeite ich aber mit meinem Programm fremde Files die Unter „Eigene Dateien“\FremdProgramname\ zu finden sind.

[HKEY\_USERS\S-.....-1003\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
"Personal"="E:\\MyDocs"

Wie komm ich da nun mit MFC und VC++ dran :smile: Danke schon mal !

Bisher hab ich Jetzt

 HKEY hRefSoft;
 HKEY hRefSoftMicro;
 HKEY hRefSoftMicroWin;
 HKEY hRefSoftMicroWinCV;
 HKEY hRefSoftMicroWinCVEx;
 HKEY hRefSoftMicroWinCVExShell;
 LONG errorCODE;
 errorCODE = RegOpenKeyEx(HKEY\_CURRENT\_USER, "Software",0, KEY\_SET\_VALUE, &hRefSoft);
 errorCODE = RegOpenKeyEx(hRefSoft, "Microsoft",0, KEY\_SET\_VALUE, &hRefSoftMicro);
 errorCODE = RegOpenKeyEx(hRefSoftMicro, "Windows",0, KEY\_SET\_VALUE, &hRefSoftMicroWin);
 errorCODE = RegOpenKeyEx(hRefSoftMicroWin, "CurrentVersion",0, KEY\_SET\_VALUE, &hRefSoftMicroWinCV);
 errorCODE = RegOpenKeyEx(hRefSoftMicroWinCV, "Explorer",0, KEY\_SET\_VALUE, &hRefSoftMicroWinCVEx);
 errorCODE = RegOpenKeyEx(hRefSoftMicroWinCVEx, "Shell Folders",0, KEY\_SET\_VALUE, &hRefSoftMicroWinCVExShell);
 LPDWORD lpType=NULL; 
 LPBYTE lpData=NULL; 
 LPDWORD lpcbData=NULL;

 errorCODE = RegQueryValueEx(hRefSoftMicroWinCVExShell,"Personal",NULL,lpType,lpData,lpcbData);

// AUSGABE , aber WIE ???

//

 RegCloseKey(hRefSoftMicroWinCVExShell);
 RegCloseKey(hRefSoftMicroWinCVEx);
 RegCloseKey(hRefSoftMicroWinCV);
 RegCloseKey(hRefSoftMicroWin);
 RegCloseKey(hRefSoftMicro);
 RegCloseKey(hRefSoft);

Wie lese ich nun Mein Wert da aus ??

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

Hallo, dua kannst den Pfad von „Eigene Dateien“ wie folgt herausfinden:

char Path[MAX\_PATH];
SHGetSpecialFolderPath(m\_hWnd, Path, CSIDL\_PERSONAL, FALSE);

Gruß Tobias

Auch Moin,

warum aus der Registry auslesen, Windows kennt seine Verzeichnisse.
Siehe hier:
http://www.microsoft.com/germany/msdn/library/visual…

Manfred

Besten Dank euch Beiden , gut zu Wissen :smile:

Da ich noch ein paar andere Schlüssel brauche und
ich ein schon erfundenes Rad fand nahm ich mir es unter http://www.tutorials.de/forum/attachments/visualstud…

CRegistry Classe :smile:
kleines Beispiel

CRegistry Registry;
CString regPath;
CString strValue,strValue2;
regPath = "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders"; 

if(!Registry.VerifyKey(HKEY\_CURRENT\_USER, regPath)) // Check ob Pfad existiert
{
 AfxMessageBox("Pfad existiert nicht");
 return;
}

Registry.Open(HKEY\_CURRENT\_USER, regPath); // Open 
Registry.Read("Personal", strValue); // Read the value
Registry.Close(); // Close the Registry

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