|
认识键值项和键值 & ]: [! L* ~% d. X
9 E; G/ Y, v0 Z" o# G( { }
注册表虽然是通过各个根键和子键来分类管理各种信息,但具体数据信息还是依靠键值项和键值来实现。在注册表中绝大多数分支或子项中还包含了一个或若干个“值项”,每个值项又对应于一定数据类型的一组数据,这就是键值项和键值,打开注册表编辑器后,选择一个分支或子项,在注册表编辑器的右侧窗口中显示的就是键值项和键值(如图1)。 6 ~3 P. P( s; O' v
8 _ E- D$ k: w( r2 S g " k }& [4 p7 B* t7 P
s1 n9 P% O0 I/ s1 m# l- x' \5 n( v8 ?9 Z- b: H! x9 `; i4 Y1 m/ H
! x. g" J. {. x6 _ R* d
) d% F1 e+ c7 a: \6 q# @" Z; P
图1
4 d- N/ n. {) b4 ^* O) N细心的朋友可能会注意到,键值项的图标内容有些是“ab”,有些又是“0、1”,这是因为注册表编辑器根据键值的不同将键值项分为了字符型和数值型两大类的缘故。在键值项窗口空白处单击右键,选择“新建”菜单项,可以看到这些键值被细分为:字符串值、二进制值、DWORD值、多字符串值、可扩充字符串值五种类型(如图2)。
) T% H' L7 W/ Y+ l$ o
8 X; u, J+ l& u& E) t9 @& w. C ! z& u6 J: q z+ Z5 I$ Z$ |' Z& `
' p$ m' P3 o( A8 b5 A$ n
' E: E0 A7 ?) ]$ w9 T7 u# a
图2
3 K0 H9 ?: u, n字符串值(REG_SZ) . l X% H, G: h5 g+ f- o- y7 G- r
, e( t# w1 s! u! h8 V$ y该值一般用来作为文件描述和硬件标志,可以是字母、数字,也可以是汉字,但它是长度固定的文本字符串,最大长度不能超过255个字符。REG文件中一般表现为:“a”=“****”。
# k$ V" E5 ]* e) ]( S
& G+ f* k% `3 y: ?% }7 Y k二进制值(REG_BINARY) x& w( O1 F! ]% ~7 r4 x+ W' W
( g) ]0 K( z$ x& y
一般情况下,大多数硬件组件信息以二进制数据存储,然后通过十六进制的格式显示在注册表编辑器中。该类型值没有长度限制,可以是任意字节长,REG文件中一般表现为:“a”=“hex:01,00,00,00”。 0 k4 u! B5 c: u2 Y
; J7 _8 T/ t. w5 J1 Q" NDWOED值(REG_DWORD)
/ o% f. Z3 u: \( U3 @$ `/ W' \5 ]! O* i
由 4 字节长(32 位整数)的数字表示的数据。设备驱动程序和服务的许多参数都是此类型,以二进制、十六进制或十进制格式显示在注册表编辑器中。REG文件中一般表现为“a”=“dword:00000001”。 & F$ Y. O! f) C3 W7 A6 n% C& u
Z4 j) }4 N1 r% L修改注册表时,字符串值、二进制值、DWORD值最为常用,而多字符串值、可扩充字符串值除在Windows XP系统外,仅在Regedt32.exe中可见。 " o7 Z3 B7 J# e
; O) C( x2 a9 M1 s! J. G% U8 t2 l
提示:在Windows XP系统中包含图2中的五种类型,而Windows 98系统仅包含字符串值、二进制值、DWORD值三种类型。 ( E# `. m V- l* n8 e. k
$ K. ?7 N+ ?: _6 T: [修改键值项或键值 q# ]; J4 h3 Q- h$ D( I
# z' v7 z' ^, E$ {, y1 B大多数情况下,修改注册表的具体操作就是将键值由A值修改为B值。当需要修改的时候,只要双击该键值项(也可右击该键值项,选择“修改”菜单项),然后在其编辑窗口中进行修改就可以了(如图3)。
' n; j' D+ ]( O9 q* z/ r9 `# ?7 l, p3 w" b8 z5 b+ s" @& D6 j
8 z- F: W/ t; \3 i! q+ V+ d& U
- i: [7 ? o) s/ o. s. O
. P, }& Z$ o; F图3
& A; z1 O5 r* @3 Z7 U不过,在根据一些技巧调整注册表时,会发现注册表文件中并没有技巧中所给出的键值项,此时就需要创建一个键值项。在窗口空白处单击右键,根据技巧中提供的类型选择对应的键值类型,键值项就创建完毕了。然后右击新建的键值项,选择“重命名”菜单项,将该名称修改为技巧中所描述的字符,最后再双击该键值项输入具体的键值即可。 % v0 D* p8 x8 a8 t/ z/ q
* x; c6 R U* U% F/ _2 B0 [1 H如果发现自己创建了错误的键值,或者需要通过清除键值来修改注册表时,只需在右键快捷菜单中选择“删除”菜单项即可(如图4)。
! s- i" e) w- b, C2 c! r1 Y2 z. c% f2 e2 Z
' _4 r: Q$ |6 M4 {! Z, c
+ |6 U# k0 Q# ?- M' ]4 M
1 m( Z: G- h. R
图4
1 o) `" C9 g) S0 T下面,我们再以Windows XP系统为例,通过一些简单实例让大家看看如何通过修改注册表键值项或键值来控制我们的电脑。
) x4 ^/ u% ?4 z/ m
! k& U; y6 ^, v R# a让隐藏文件不显示
4 U% I* J& j* O3 n8 e- h4 c7 d( w T; o/ D! K) K! ?
在文件的“属性”对话框中,如果我们将文件的属性修改为“隐藏”,就可以直接将该文件隐藏起来。可是,往往稍微懂点电脑的人都会通过选定“文件夹选项/查看/显示所有文件和文件夹”实现对隐藏文件的查看。这时,我们还可以通过修改注册表的相应键值的方法禁用“显示所有文件和文件夹”功能,从而阻止上述方法查看隐藏文件。
. v5 b. Q6 d' G* A, E6 ~- ?
, g- A6 i: u6 y( |2 z' Y依次点击“开始/运行”,在“运行”对话框中输入“regedit”命令,回车后打开注册表编辑器,定位到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows \CurrentVersion\Explorer\Advanced\Folder\Hidden\Showall”分支,双击右侧窗口中的“CheckedValue”键值项,将数值数据设置为“0”,确定后退出注册表编辑器。 . U# u6 X W5 X# l7 R- e* W7 `
- `% q2 R+ k9 o2 V4 Z$ F, {) L1 a
然后,再打开“文件夹选项”,重新选定“显示所有文件和文件夹”,确定退出后就会设置为“隐藏”的文件并没有显示出来,真正实现了文件的隐藏。 1 e: o- c4 |6 }% c) b
( m$ P0 @/ ?, F3 z; C1 X! n提示:如果想恢复“显示所有文件和文件夹”功能的话,只需将“CheckedValue”键值项的键值重新设置为“1”即可。
) H# d" r* v" f" G
; D& ~4 W, S4 c3 J/ o& u让注册表编辑器保持在根目录
* X# m. I& N! O) P: `$ I m: ]& K* t3 y
通常情况,在Windows XP系统中对注册表编辑器进行操作后,编辑器会自动记录上次的操作结果,再次打开编辑器时,光标会自动停留在上次使用时的位置上,要进行其它操作时还要重新返回根目录,这样对于初学的朋友多少有些麻烦。 4 }6 F, e. D( I& b
0 e; H3 B! a/ f) Q2 z这时,我们可以打开注册表编辑器,将光标定位到“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit”分支(如图5),在右侧窗口中选择“LastKey”键值项,并清除该键值项的数值数据资料。然后用鼠标右键点击“regedit”子项,在弹出的右键快捷菜单中选择“权限…”菜单项,在“regedit的权限”窗口中先选择“Administrators”用户, 并将“Administrators的权限”上全部选择“拒绝”,退出注册表编辑器,注销用户后重新登录,再次打开编辑器就会发现注册表分支定位始终在根目录了。 6 G+ O( s: v6 m2 \3 z/ z+ j; `& v
% a, S% I6 U2 T1 X5 P8 T( z. a7 X) I
6 w; L. K. t2 N

- `8 u8 e; Q' ]/ J $ s9 G, M0 Q/ e4 f% r
图52 s) J- g4 z1 V, n, K
+ o) \1 _! Q, F$ G
[ 本帖最后由 armymanuse 于 2006-9-11 09:55 PM 编辑 ] |
|