我正在使用Visual Studio 2008.我正在使用vC++ mfc應用程序。
我想知道如何從註冊表中讀取多行字符串值。這裏的類型REG_MULTI_SZ
指示由空字符串(\ 0)終止的以空字符結尾的字符串序列。
到目前爲止,我只能閱讀第一行。給我想法,我如何一次讀取多個字符串。
感謝 如何在Visual C++中讀取多行多字符串註冊表項?
我想這樣的事情
HKEY hKey;
CString RegPath = _T("SOFTWARE\\...\\...\\"); //Path
if(ERROR_SUCCESS == ::RegOpenKeyEx(HKEY_LOCAL_MACHINE,RegPath,0,KEY_READ|KEY_ENUMERATE_SUB_KEYS|KEY_QUERY_VALUE | KEY_WOW64_64KEY,&hKey))
{
DWORD nBytes,dwType = REG_MULTI_SZ;
CString version;
if(ERROR_SUCCESS == ::RegQueryValueEx(hKey,_T("Options"),NULL,&dwType,0,&nBytes))
{
ASSERT(REG_MULTI_SZ == dwType);
LPTSTR buffer = version.GetBuffer(nBytes/sizeof(TCHAR));
VERIFY(ERROR_SUCCESS == ::RegQueryValueEx(hKey,_T("Options"),NULL,0,(LPBYTE)buffer,&nBytes));
AfxMessageBox(buffer); //Displaying Only First Line
version.ReleaseBuffer();
}
::RegCloseKey(hKey);
}
顯示你有什麼到目前爲止已經試過。然後,我們會更容易回答你的問題。 – 2014-10-28 08:36:02