- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
将注册表值从 HKCU 复制到 HKLM 时出现问题。它是一个 DWORD,我正在使用此代码枚举所有 key 并在我安装的特定时间复制它们。
HRESULT hr = S_OK;
UINT er = ERROR_SUCCESS;
HKEY hKey;
char szProductKey[MAX_PATH], lszValue[MAX_PATH];
TCHAR achKey[MAX_KEY_LENGTH], achClass[MAX_PATH] = TEXT(""), achValue[MAX_VALUE_NAME];
DWORD cbName, cchClassName = MAX_PATH, cSubKeys=0, cbMaxSubKey, cchMaxClass, cValues, cchMaxValue, cbMaxValueData, cbSecurityDescriptor;
FILETIME ftLastWriteTime;
PHKEY phkResult = NULL;
DWORD i, retCode, cchValue = MAX_VALUE_NAME,dwType=REG_SZ,dwSKeyValueSize,dwSize=255;
hr = WcaInitialize(hInstall, "ReadTempRegKey");
ExitOnFailure(hr, "Failed to initialize");
WcaLog(LOGMSG_STANDARD, "Initialized.");
Orc_Reg_Sub_LM_CU();
sprintf_s(szProductKey, "SOFTWARE\\M\\%s",Orc_Get_Product_Name());
WcaLog(LOGMSG_STANDARD , szProductKey);
if( RegOpenKeyEx( HKEY_CURRENT_USER,
szProductKey,
0,
KEY_READ,
&hKey) == ERROR_SUCCESS
)
{
//Get the class name and the value count.
retCode = RegQueryInfoKey(
hKey, // key handle
achClass, // buffer for class name
&cchClassName, // size of class string
NULL, // reserved
&cSubKeys, // number of subkeys
&cbMaxSubKey, // longest subkey size
&cchMaxClass, // longest class string
&cValues, // number of values for this key
&cchMaxValue, // longest value name
&cbMaxValueData, // longest value data
&cbSecurityDescriptor, // security descriptor
&ftLastWriteTime); // last write time
// Enumerate the subkeys, until RegEnumKeyEx fails.
if (cSubKeys)
{
for (i=0; i<cSubKeys; i++)
{
cbName = MAX_KEY_LENGTH;
retCode = RegEnumKeyEx(hKey, i,
achKey,
&cbName,
NULL,
NULL,
NULL,
&ftLastWriteTime);
}
}
//Enumerate the key values.
if (cValues)
{
for (i=0, retCode=ERROR_SUCCESS; i<cValues; i++)
{
cchValue = MAX_VALUE_NAME;
achValue[0] = '\0';
retCode = RegEnumValue(hKey, i,
achValue,
&cchValue,
NULL,
NULL,
NULL,
NULL);
if (retCode == ERROR_SUCCESS )
{
DWORD dwSize = sizeof(lszValue);
retCode = RegQueryValueEx(hKey, achValue, NULL, &dwType,(LPBYTE)&lszValue, &dwSize);
if (retCode == ERROR_SUCCESS)
{
Orc_Reg_Stop_LM_CU();
dwSKeyValueSize = strlen((char*) lszValue);
Orc_RegValue(HKEY_LOCAL_MACHINE,
"SOFTWARE\\M\\Orchestrator",
KEY_SET_VALUE,
achValue,
&dwType,
(unsigned char *)lszValue,
&dwSKeyValueSize);
}
}
}
}
}
复制后注册表的值是正确的,但数据显示 无效的 dword 32 位值
有谁知道会导致这种情况的原因吗?
谢谢
最佳答案
您收到 invalid dword 32-bit value
消息,因为传递给 Orc_RegValue()
的最后一个参数不正确。 REG_DWORD 数据类型的正确值为 sizeof(DWORD)
。
尝试传递 dwSize
而不是 dwSKeyValueSize
Orc_RegValue(HKEY_LOCAL_MACHINE,
"SOFTWARE\\M\\Orchestrator",
KEY_SET_VALUE,
achValue,
&dwType,
(unsigned char *)lszValue,
&dwSize);
或者你可以试试
dwSKeyValueSize = dwSize;
代替
dwSKeyValueSize = strlen((char*) lszValue);
关于c++ - 将 DWORD 从 HKCU 复制到 HKLM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18271169/
我使用 WiX 3.6 构建了一个 perMachine 安装程序来安装我尚未开发的软件。不幸的是,该软件在执行过程中会在 HKCU 下创建一些注册表项。 卸载时,还应删除自己创建的 key 。删除这
我正在尝试使用以下代码在 HKCU\SOFTWARE\Classes\CLSID 中创建一个 key : var softwareKey = Registry.CurrentUser;
我想知道我需要什么权限才能写入 HKEY_CURRENT_USER\Software 注册表项?是足够明显吗? 最佳答案 对于 HKCU 的大部分区域,除了少数非常具体的异常(exception)情况
在 Windows 服务中,我想检查存储在每个用户的 HKCU 注册表区域中的一些用户首选项。我该怎么做? 我看到 HKEY_USERS 有每个登录机器的用户的子项(或类似的东西?),在这些子项中是每
当我的软件通过 MSI 安装时,它会在 HKLM 中创建一些注册表项。当人们使用该软件时,他们的个人偏好会保存到 HKCU。卸载软件后,HKLM 和 HKCU 注册表项将被删除,但我认为只有运行卸载的
我有一个场景,我需要编写一个脚本来为当前用户向以下注册表项添加一个条目: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Exp
我实现了一个使用 WebBrowser 控件的应用程序。要应用 IE11 模式,我的应用程序设置设置了 HKLM 注册表值: [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432N
感谢您花时间查看我的问题。 我正在尝试使用 native NtCreateKey API 在 HKCU 内创建 key 。 我有一个资源可以帮助我了解 API 的工作原理,但我似乎无法使其适用于 HK
我是一名管理员,负责将软件安装到小型 PC 局域网。该软件必须分阶段安装(三个不同的可执行安装包)。 销售木偶以错误的顺序提供了阶段,并且由于它们以错误的顺序安装,因此无法正确生成注册表项。 所以我需
IE BHO(或工具栏)可以在 HKCU 级别(而不是 HKLM)注册吗?我发现了一些矛盾的信息,我的个人测试失败了。因此,指向明确答案的指针会很棒。 HKCU 中的位置与 HKLM 中的位置是否不同
将注册表值从 HKCU 复制到 HKLM 时出现问题。它是一个 DWORD,我正在使用此代码枚举所有 key 并在我安装的特定时间复制它们。 HRESULT hr = S_OK; UINT er =
我需要安装一个应用程序,该应用程序将为任何在 Windows 安装上具有配置文件的登录用户运行一次。我不需要它来为新用户运行。我正在使用 Visual Studio 2010 安装项目创建 MSI,如
我正在与我们的最终用户计算团队合作,以自动化我们的域迁移。我们使用的方法涉及更改本地用户文件夹和 regedit 中的 HKCU 的权限(包括“将所有子对象的权限条目替换为此处显示的适用于子对象的条目
我正在使用 ActivePython 2.5 读取注册表中 pGina 创建的条目。具体来说,有关计算机上允许哪些 GID 的条目。通过 pGina 编辑时,此信息会针对每台计算机定期更改,因此我希望
我开发了一个 VSTO Outlook 2007 插件。 当我将 .dll 注册到 GAC 并在中创建注册表项时 HKEY_CURRENT_USER\Software\Microsoft\Office
我被 Windows 7 注册表问题难住了,虽然各种问题和答案让我有所了解,但我所看到的没有解决我的特定问题。我不知道其他windows版本是否会影响这个问题,但我们都有win7x64的机器。 我们在
我想在 WiX 的文档位置下复制一个文件。但它给出了警告: Component testcomp installs to user profile. It must use a registry ke
我想迭代环境键并打印这些项目的列表。 最佳答案 您可以通过相应的 WshEnvironment 访问用户环境变量收藏;无需搞乱注册表: var oShell = new ActiveXObject("
我们的一位用户对 ClickOnce 有一个非常严重的问题。该错误是一个经典错误: Following errors were detected during this operation.
我正在尝试在 Windows 上设置一个测试应用程序以通过“myapp://website.com”式 URI 启动。大多数情况下,我都是以这样的教程为基础的: http://msdn.microso
我是一名优秀的程序员,十分优秀!