本文整理汇总了C++中CKey::SetValue方法的典型用法代码示例。如果您正苦于以下问题:C++ CKey::SetValue方法的具体用法?C++ CKey::SetValue怎么用?C++ CKey::SetValue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CKey
的用法示例。
在下文中一共展示了CKey::SetValue方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SavePanelPath
void SavePanelPath(UInt32 panel, const UString &path)
{
NSynchronization::CCriticalSectionLock lock(g_CS);
CKey key;
key.Create(HKEY_CURRENT_USER, kCUBasePath);
key.SetValue(GetPanelPathName(panel), path);
}
示例2:
static void SetRegUInt32(CKey &key, const TCHAR *name, UInt32 value)
{
if (value == (UInt32)-1)
key.DeleteValue(name);
else
key.SetValue(name, value);
}
示例3: SetRegString
static void SetRegString(CKey &key, const WCHAR *name, const UString &value)
{
if (value.IsEmpty())
key.DeleteValue(name);
else
key.SetValue(name, value);
}
示例4: SaveOption
static void SaveOption(const TCHAR *value, bool enabled)
{
NSynchronization::CCriticalSectionLock lock(g_RegistryOperationsCriticalSection);
CKey optionsKey;
optionsKey.Create(HKEY_CURRENT_USER, GetKeyPath(kOptionsInfoKeyName));
optionsKey.SetValue(value, enabled);
}
示例5: SaveValue
static void SaveValue(const TCHAR *value, UInt32 valueToWrite)
{
NSynchronization::CCriticalSectionLock lock(g_RegistryOperationsCriticalSection);
CKey optionsKey;
optionsKey.Create(HKEY_CURRENT_USER, GetKeyPath(kOptionsInfoKeyName));
optionsKey.SetValue(value, valueToWrite);
}
示例6: AddContextMenuHandlerCommon
static void AddContextMenuHandlerCommon(const CSysString &keyName)
{
DeleteContextMenuHandlerCommon(keyName);
NSynchronization::CCriticalSectionLock lock(g_RegistryOperationsCriticalSection);
CKey key;
key.Create(HKEY_CLASSES_ROOT, GetFullContextMenuKeyName(keyName));
key.SetValue(NULL, kExtensionCLSID);
}
示例7: AddDragDropMenuHandlerCommon
static void AddDragDropMenuHandlerCommon(const CSysString &keyName)
{
DeleteDragDropMenuHandlerCommon(keyName);
NSynchronization::CCriticalSectionLock lock(g_CS);
CKey key;
key.Create(HKEY_CLASSES_ROOT, GetFullDragDropMenuKeyName(keyName));
key.SetValue(NULL, kExtensionCLSID);
}
示例8: SetValue
LONG SetValue(HKEY parentKey, LPCTSTR keyName, LPCTSTR valueName, LPCTSTR value)
{
MYASSERT(value != NULL);
CKey key;
LONG res = key.Create(parentKey, keyName);
if (res == ERROR_SUCCESS)
res = key.SetValue(valueName, value);
return res;
}
示例9: SetKeyValue
LONG CKey::SetKeyValue(LPCTSTR keyName, LPCTSTR valueName, LPCTSTR value) throw()
{
MYASSERT(value != NULL);
CKey key;
LONG res = key.Create(_object, keyName);
if (res == ERROR_SUCCESS)
res = key.SetValue(valueName, value);
return res;
}
示例10: SaveExtractionInfo
void SaveExtractionInfo(const NExtract::CInfo &info)
{
NSynchronization::CCriticalSectionLock lock(g_RegistryOperationsCriticalSection);
CKey extractionKey;
extractionKey.Create(HKEY_CURRENT_USER, GetKeyPath(kExtractionKeyName));
extractionKey.RecurseDeleteKey(kExtractionPathHistoryKeyName);
{
CKey pathHistoryKey;
pathHistoryKey.Create(extractionKey, kExtractionPathHistoryKeyName);
for(int i = 0; i < info.Paths.Size(); i++)
{
wchar_t numberString[16];
ConvertUInt64ToString(i, numberString);
pathHistoryKey.SetValue(numberString, info.Paths[i]);
}
}
extractionKey.SetValue(kExtractionExtractModeValueName, UInt32(info.PathMode));
extractionKey.SetValue(kExtractionOverwriteModeValueName, UInt32(info.OverwriteMode));
extractionKey.SetValue(kExtractionShowPasswordValueName, info.ShowPassword);
}
示例11: Save
void CWindowInfo::Save() const
{
NSynchronization::CCriticalSectionLock lock(g_CS);
CKey key;
key.Create(HKEY_CURRENT_USER, kCUBasePath);
{
Byte buf[kWindowPositionHeaderSize];
Set32(buf, rect.left);
Set32(buf + 4, rect.top);
Set32(buf + 8, rect.right);
Set32(buf + 12, rect.bottom);
SetBool(buf + 16, maximized);
key.SetValue(kPositionValueName, buf, kWindowPositionHeaderSize);
}
{
Byte buf[kPanelsInfoHeaderSize];
Set32(buf, numPanels);
Set32(buf + 4, currentPanel);
Set32(buf + 8, splitterPos);
key.SetValue(kPanelsInfoValueName, buf, kPanelsInfoHeaderSize);
}
}
示例12: AddShellExtensionInfo
void AddShellExtensionInfo(const CSysString &extension,
const UString &programTitle,
const UString &programOpenCommand,
const UString &iconPath, int iconIndex,
const void *shellNewData, int shellNewDataSize)
{
DeleteShellExtensionKey(extension);
DeleteShellExtensionProgramKey(extension);
NSynchronization::CCriticalSectionLock lock(g_CriticalSection);
CSysString programKeyName = GetExtProgramKeyName(extension);
{
CKey extKey;
extKey.Create(HKEY_CLASSES_ROOT, GetExtensionKeyName(extension));
extKey.SetValue(NULL, programKeyName);
if (shellNewData != NULL)
{
CKey shellNewKey;
shellNewKey.Create(extKey, kShellNewKeyName);
shellNewKey.SetValue(kShellNewDataValueName, shellNewData, shellNewDataSize);
}
}
CKey programKey;
programKey.Create(HKEY_CLASSES_ROOT, programKeyName);
programKey.SetValue(NULL, programTitle);
{
CKey iconKey;
iconKey.Create(programKey, kDefaultIconKeyName);
UString iconPathFull = iconPath;
if (iconIndex >= 0)
{
iconPathFull += L",";
wchar_t s[32];
ConvertUInt64ToString((UInt64)iconIndex, s);
iconPathFull += s;
}
iconKey.SetValue(NULL, iconPathFull);
}
CKey shellKey;
shellKey.Create(programKey, kShellKeyName);
shellKey.SetValue(NULL, TEXT(""));
CKey openKey;
openKey.Create(shellKey, kOpenKeyName);
openKey.SetValue(NULL, TEXT(""));
CKey commandKey;
commandKey.Create(openKey, kCommandKeyName);
commandKey.SetValue(NULL, programOpenCommand);
}
示例13: WriteInternalAssociations
void WriteInternalAssociations(const CObjectVector<CExtInfo> &items)
{
NSynchronization::CCriticalSectionLock lock(g_CriticalSection);
CKey mainKey;
mainKey.Create(HKEY_CURRENT_USER, kCUKeyPath);
mainKey.RecurseDeleteKey(kAssociations);
CKey associationsKey;
associationsKey.Create(mainKey, kAssociations);
for(int i = 0; i < items.Size(); i++)
{
const CExtInfo &extInfo = items[i];
CKey key;
key.Create(associationsKey, GetSystemString(extInfo.Ext));
key.SetValue(kExtPlugins, JoinStrings(extInfo.Plugins));
// key.SetValue(kExtEnabled, extInfo.Enabled);
}
}
示例14: SetContextMenuHandler
LONG SetContextMenuHandler(bool setMode, const UString &path, UInt32 wow)
{
// NSynchronization::CCriticalSectionLock lock(g_CS);
INIT_REG_WOW
LONG res;
{
CSysString s = TEXT("CLSID\\");
s += k_Clsid;
if (setMode)
{
{
CKey key;
res = MyCreateKey(key, HKEY_CLASSES_ROOT, s, wow);
if (res == ERROR_SUCCESS)
{
key.SetValue(NULL, k_ShellExtName);
CKey keyInproc;
res = MyCreateKey(keyInproc, key, k_Inproc, wow);
if (res == ERROR_SUCCESS)
{
res = keyInproc.SetValue(NULL, path);
keyInproc.SetValue(TEXT("ThreadingModel"), TEXT("Apartment"));
}
}
}
{
CKey key;
if (MyCreateKey(key, HKEY_LOCAL_MACHINE, k_Approved, wow) == ERROR_SUCCESS)
key.SetValue(k_Clsid, k_ShellExtName);
}
}
else
{
CSysString s2 = s;
s2.AddAscii("\\InprocServer32");
MyRegistry_DeleteKey_HKCR(s2, wow);
res = MyRegistry_DeleteKey_HKCR(s, wow);
}
}
// shellex items probably are shared beween 32-bit and 64-bit apps. So we don't delete items for delete operation.
if (setMode)
for (unsigned i = 0; i < 2; i++)
{
for (unsigned k = 0; k < ARRAY_SIZE(k_shellex_Prefixes); k++)
{
CSysString s = k_shellex_Prefixes[k];
s += (i == 0 ? k_KeyPostfix_ContextMenu : k_KeyPostfix_DragDrop);
if (k_shellex_Statuses[i][k])
{
CKey key;
MyCreateKey(key, HKEY_CLASSES_ROOT, s, wow);
key.SetValue(NULL, k_Clsid);
}
else
MyRegistry_DeleteKey_HKCR(s, wow);
}
}
return res;
}
示例15: SaveRegEditor
void SaveRegEditor(const UString &editorPath)
{
CKey key;
key.Create(HKEY_CURRENT_USER, kCU_FMPath);
key.SetValue(kEditor, editorPath);
}