"CheckedValue"="0x00000001 (1)"
我的PC注册表只到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced
子项Hidden没有,可以右键->新建项命名为Hidden->选中刚建的那个项,右键新建项->命名SHOWALL->再选中SHOWALL(刚才才新建的项),右键新建->DWORD值,命名为CheckerValue,建完后双击该键(CheckerValue),在数值数据项添入 1 即可.
不知道是否是你需要的结果.
注:0x表示16进制表示(为区分10进制),学过编程的应该都知道.所以0x00000001只需要输入1.
第2个是用机器码编的,这样做虽然难读但可以提高计算机的执行效率,写成字符型当然也可以.
看下图你就会明白为什么会是用(2)了
注:字符型数据用注册表导出后会自动转为机器码. 如果以下还有子项的话会自动添加.
如:
Windows Registry Editor Version 5.00
"新值 #1"="asdfff"
以上保存为.REG
假如你的注册表内容
导入该注册表后,就会首先添加
然后添加
"新值 #1"="asdfff"
没有的子项会自动添加,懂了吧.
至于 00 那里,你应该大致可以看出点东西.
25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\ \\
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00,\ \\
6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,25,00,53,\ \\
00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,\ \\ (2)
79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,68,00,65,00,6c,00,6c,\ \\
00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,4f,00,70,00,65,00,6e,00,41,00,\ \\
73,00,5f,00,52,00,75,00,6e,00,44,00,4c,00,4c,00,20,00,25,00,31,00,00,00
实际就是%SystemRoot%\system32\rundll32.exe %SystemRoot%\system32\shell32.dll,OpenAs_RunDLL %1的十六进制码,也就是ASCII(国际标准字符规则)->HEX(16进制)
举例来说,你看到的25就是ASCII码的%,00就是.(点)
不知你看懂了没.
漏了几个,关于@="openas".
实际是将第一项 默认 赋值 为openas,就是注册表每项的第一个键.
空则等于没有.
至于开机启动,只要在运行里输入MSCONFIG,在最后启动项里将其前的勾去掉即可. 点.实际就是分隔符的作用,因为机器码是按照一个一个执行的.
字符串类型的键,因为需要转成机器可以识别的2进制码,所以就要用.来分隔,不分的话机器无法识别.
而2进制的键则无须.分隔,因为机器码本来就是由2进制组成,无须转换直接执行.
注:键的类型可以看小图标.
后面的问题,你可以做试验,将内容写入记事本保存为.reg双击,看看注册表里相应数值是否改变.
你问的问题越来越深了,恕本人能力有限,你还是在网上找些注册表相关资料自己看的好.
页:
[1]