本文整理汇总了C++中CKey::SetStringValue方法的典型用法代码示例。如果您正苦于以下问题:C++ CKey::SetStringValue方法的具体用法?C++ CKey::SetStringValue怎么用?C++ CKey::SetStringValue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CKey
的用法示例。
在下文中一共展示了CKey::SetStringValue方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: RegisterHelper
BOOL RegisterHelper(LPCTSTR* rglpszRegister, LPCTSTR* rglpszSymbols,
BOOL bReplace)
{
ASSERT(rglpszRegister != NULL);
ASSERT(rglpszSymbols != NULL);
CString strKey;
CString strValueName;
CString strValue;
// keeping a key open makes this go a bit faster
CKey keyTemp;
VERIFY(keyTemp.Create(HKEY_CLASSES_ROOT, _T("CLSID")));
BOOL bResult = TRUE;
while (*rglpszRegister != NULL)
{
LPCTSTR lpszKey = *rglpszRegister++;
if (*lpszKey == '\0')
continue;
LPCTSTR lpszValueName = lpszKey + lstrlen(lpszKey) + 1;
LPCTSTR lpszValue = lpszValueName + lstrlen(lpszValueName) + 1;
strKey.ReleaseBuffer(
FormatMessage(FORMAT_MESSAGE_FROM_STRING |
FORMAT_MESSAGE_ARGUMENT_ARRAY, lpszKey, NULL, NULL,
strKey.GetBuffer(256), 256, (va_list*) rglpszSymbols));
strValueName = lpszValueName;
strValue.ReleaseBuffer(
FormatMessage(FORMAT_MESSAGE_FROM_STRING |
FORMAT_MESSAGE_ARGUMENT_ARRAY, lpszValue, NULL, NULL,
strValue.GetBuffer(256), 256, (va_list*) rglpszSymbols));
if (strKey.IsEmpty())
{
TRACE1("Warning: skipping empty key '%s'.\n", lpszKey);
continue;
}
CKey key;
VERIFY(key.Create(HKEY_CLASSES_ROOT, strKey));
if (!bReplace)
{
CString str;
if (key.GetStringValue(str, strValueName) && !str.IsEmpty())
continue;
}
if (!key.SetStringValue(strValue, strValueName))
{
TRACE2("Error: failed setting key '%s' to value '%s'.\n",
(LPCTSTR)strKey, (LPCTSTR)strValue);
bResult = FALSE;
break;
}
}
return bResult;
}