最后我想试试用WinAPI改一下。先调用了RegEnumValue()函数显示这个键的值,代码如下(C语言)
CHAR childValueName[MAX_SIZE]; // 接受键名字
DWORD childValueNameSZ = MAX_SIZE; // 数组大小
DWORD childValueType; // 键值类型
BYTE childValueData[MAX_SIZE]; // 接受键值内容
DWORD childValueDataSZ = MAX_SIZE; // 数组大小
LONG ret = RegEnumValue(
hKey, // 要枚举的父键句柄
0, // 序号
childValueName, // 接受名字
&childValueNameSZ, // 传入/传出长度
NULL,
&childValueType, // 接受键值类型
childValueData, // 接受键值内容
&childValueDataSZ); // 传入/传出长度
puts(childValueName); // 输出键名
puts((char *)childValueData); // 输出键值
结果惊奇的发现,输出的键值和regedit上显示的键值竟然不一样,为“UCHTML"(现在用的UC浏览器),是不是意味着这个值的内容已经在注册表中被修改,但是因为某些原因无法被正常读取和使用。我比较好奇这是怎么做到的,希望各位前辈指点一二,多谢各位了!
第一次发帖好紧张~
3 个解决方案
#1
Regedit中在注册表项上点鼠标右键、权限……
#2
改成完全控制了,还是不能写入
#3
重启进安全模式再试试。
#1
Regedit中在注册表项上点鼠标右键、权限……
#2
Regedit中在注册表项上点鼠标右键、权限……
改成完全控制了,还是不能写入
#3
Regedit中在注册表项上点鼠标右键、权限……
改成完全控制了,还是不能写入
重启进安全模式再试试。