Здравствуйте!!!!
Подскажите, по такому вопросу, пытаюсь считать значение параметра реестра и вывести в Edit и занести в реестр значение тоже из этого Edit, но проблема заключается в том что когда я заношу пустой Edit и пытаюсь со считать эту пустоту опять в Edit мне почему-то в Edit выводится квадратик. Я посмотрел в watchlist, то значение пустоты там такое
"/x03" что это вообще за символ?
Заношу значение в реестр
HKEY hKeyResult = NULL;
AnsiString sVarName2 = "OutPath";
LONG sc = RegOpenKeyEx(HKEY_LOCAL_MACHINE,sKey,0,KEY_ALL_ACCESS,&hKeyResult);//изменение значения параметра данного ключа
if (sc == ERROR_SUCCESS)
{
if(RegSetValueEx(hKeyResult,sVarName2.c_str(),0,REG_SZ,(BYTE*)Edit1->Text.c_str(),lstrlen(Edit1->Text.c_str()))!=ERROR_SUCCESS)
RegCloseKey(hKeyResult);
}
else
{
ShowMessage("Ошибка внесения каталога-источника в реестр: "+SysErrorMessage(GetLastError()));
}
Вот считываю
HKEY Result = NULL;
TCHAR *bKey = "SOFTWARE\\AvgUpdate";
LONG cb = RegOpenKeyEx(HKEY_LOCAL_MACHINE,bKey,0,KEY_ALL_ACCESS,&Result);
if(cb == ERROR_SUCCESS)
{
AnsiString sVarName1 = "OutPath";
DWORD Type,Size = 256;
TCHAR sVal[256];
LONG bs = RegQueryValueEx(Result, sVarName1.c_str(), NULL, &Type, (BYTE*)sVal, &Size);
if(bs==ERROR_SUCCESS)
{
Edit1->Text = AnsiString(sVal);
RegCloseKey(Result);
}
}
else
{
ShowMessage("Ключ считывания параметра каталога-источника:"+SysErrorMessage(cb));
}
В чём может быть проблема?