?
Hallo,
ich habe den Code folgendermaßen erweitert:
AnsiString TMainForm::GetRegValue(HKEY root, char* RegPath)
{
char * result = new char[MAX_PATH];
ZeroMemory(result,MAX_PATH);
DWORD size = MAX_PATH;
long error;
HKEY hKey;
String value = "xxxxx";
error = RegOpenKeyEx(root,RegPath,NULL,KEY_READ,&hKey);
if (error==ERROR_SUCCESS) {
ShowMessage("RegOpenKey erfolgreich.");
RegQueryValueEx(hKey,TEXT("nc_path"),NULL,NULL,result,&size); //
value = AnsiString(result);
}
else {
LPVOID lpMsgBuf;
if (FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) &lpMsgBuf,
0, NULL )) {
MessageBox(NULL,(LPCTSTR)lpMsgBuf, TEXT("Error"), MB_OK);
LocalFree(lpMsgBuf);
}
}
return value;
}
Bekomme folgende Ausgabe in der Messagebox: "Vorgang wurde erfolgreich abgeschlossen."
der Wert von value ist aber immernoch "xxxxx".
Gruß Udo