如何确定键的“(默认)”值
Posted
技术标签:
【中文标题】如何确定键的“(默认)”值【英文标题】:How to determine the "(default)" value of a key 【发布时间】:2011-06-09 16:47:47 【问题描述】:我想知道如何使用 C++ 获取注册表项的默认值。
我已经尝试在RegQueryValueEx()
函数的关键参数中发送NULL
或空字符串。
尝试检查另一个键,我猜对了。我只是无法获得默认值。
该函数返回 ""
而不是值。
【问题讨论】:
使用 NULL 或 "" 发布您的代码 - 这是您根据 MSDN 执行的操作。也许代码有错误。 【参考方案1】:“关键参数”是什么意思?您应该将NULL
或""
作为lpValueName
参数传递。如果这对您不起作用,那么这是您的代码中的错误。发布您的代码,也许我们可以提供进一步的帮助。
【讨论】:
我尝试将 NULL 或 "" 发送到 lpValueName 参数。这没有用。当我尝试获取其他值时(默认)我成功了。 [code]'void getVersion(char* o_version) const int MAX_VER = 40; HKEY hKey; DWORD dwSize; DWORD dwType; wchar_t 版本[MAX_VER] = 0 ; if (RegOpenKeyEx(HKEY_CLASSES_ROOT, REG_KEY, 0 ,KEY_READ, &hKey) == ERROR_SUCCESS) dwSize = MAX_VER; RegQueryValueEx(hKey, NULL, NULL, &dwType, (LPBYTE)&version, &dwSize); //(默认) RegCloseKey(hKey); size_t 转换 = 0;字符 nstring[50]; wcstombs_s(&converted, nstring,version, 50); strcpy(o_version, nstring); ' 当我尝试其他值时它会起作用以上是关于如何确定键的“(默认)”值的主要内容,如果未能解决你的问题,请参考以下文章
默认 Culture 和 UICulture 是如何确定的?