导航:首页 > 编程语言 > 注册表编程步骤

注册表编程步骤

发布时间:2022-05-21 14:56:54

① 怎样理解电脑中“注册表”的工作原理

Windows注册表入门
作者: 展翅的小龙
请跟随我们再次回顾Windows中这个经常被误解的部分,你将学到如何完全控制你的计算机。

对我们大多数人而言,注册表就像我们汽车上的密封垫片:我们知道它在那里,它至关重要而且我们感觉不到它的存在。就像一辆车的密封垫片如果不合适,那它就不能跑很远,错误的注册表可以终止Windows,甚至让它无法启动。但如果你知道你正在做什么,注册表会在高效处理方面成为你的重要的帮手。

该指南将告诉你该如何安全地编辑注册表以个性化你的计算机。也就是说,要明白注册表并不是Windows中可有可无的元素。一个错误的修改可以导致PC的崩溃,所以在你完整地读完这篇指南之前请不要尝试做任何修改。

即使目前你还缺乏做任何修改的自信,我们建议你往下读,在理解了注册表如何控制你的PC之后,将会扩展你各方面的计算机知识并且在以后可以帮助你修复各种问题。

并非所有修改都是好的
在我们开始之前,请允许我详细叙述我们对注册表进行修改的警告。注册表中包含的大多数信息对平稳运行Windows至关重要,修改或删除这些值会完全终止你的计算机。

另一项需要记住的重要事情是对注册表的任何修改输入之后,它们就开始发生作用。注册表和Word文档不一样,Word是你必须选择保存,而且也没有撤销功能。这里不是可以胡乱进行修补的地方,但是有一个很容易就实施的保险策略。和其他类型的数据一样,注册表信息可以被备份,创建一个拷贝从而如果出现问题就可以进行恢复。

实际上,注册表非常重要,以至于Windows在每次开始的时候都会自动对它进行备份。Windows可以利用该备份自动修复某些问题,但你所做的多数修改都需要你自己来修复。

在进行修改之前,最简单的保护自己的方法是创建一个系统恢复点,这让注册表在某个点建立单独的、不可修改的记录,如果需要你可以返回到这个点。

你或许还希望用笔和纸记下你对注册表所作的所有修改。虽然计算机没有完全停止工作,你可能想撤销某些修改,而且很容易就可以实现这一点,只需通过快速查阅记录,而不必恢复整个注册表。

注册表的任务是什么?
考虑到这些警告,你可能奇怪注册表真正做了什么,以及为什么所有人都想胡乱地修补它。它是所有和Windows以及你在计算机上安装的软件、硬件相关的设置和信息的一个中央记录。在Windows 95之前,这些信息被保存在大量不同的文本文件当中。它们很容易被编辑,而你首先必须要找到它们,而且在你编程试图和它们进行交互的时候经常会发生问题。

注册表的一个好处是添加或删除程序功能,这是开始菜单中控制面板功能的一部分。你安装软件的时候,在注册表中做了一个记录,所以在添加或删除程序中作为一个专门列表的一部分出现。

注册表的功能是什么?
注册表保存在你的硬盘的几个文件当中,但访问和修改它们的唯一途径是使用注册表编辑器程序。要访问它,点击开始按钮,然后点击运行。在出现的对话框中输入regedit并按Enter键。这会进入注册表编辑器,你现在就看到了注册表。

注册表组织得更像磁盘上的文件,如果你曾经在Windows浏览器中使用过文件夹视图的话,你会根据很熟悉。然而在注册表中,这些文件夹被称为键。要打开某个键,只需点击它旁边的小加号(+)。然后你会看到每个键下包含更多的键,称为子键或值。
这些数以千计的键根据逻辑进行排列,在你第一次看到注册表的时候可能会使你感觉无从下手。要把头绪理清楚,首先要知道有五个根键以及注册表的基本组成结构。

值是指各种不同键的单独设置,因此是可自定义的。它们在注册表窗口左侧以名称排列,它们还说明了包含数据的类型以及数据本身。不用担心使用的是哪种数据类型,因为这对数据本身是明显的,或者在编辑过程中会作出解释。

修改注册表
你肯定已经对注册表作过修改,但只是通过控制面板或安装其它软件这样的间接途径。第三方软件也可以实现这一点,但你应该只使用那些值得信任的软件。让某个不知名的应用程序编辑注册表可能会给间谍软件留下后门。

一些可用的软件提供了你在别的地方看不到的设置。Registry Mechanic就是这样一个程序。其他诸如Norton SystemWorks这样的工具可以扫描注册表中不再需要并且可以删除的键值。注册表越庞大,你的计算机的运行就会变得越慢,所以SystemWorks非常有用。

间谍软件通常在注册表中建立键值以确保自己已经启动以便在Windows开始的时候监视你的计算机。在寻找有关如何删除这些程序的建议的时候,你可能会被告知需要编辑注册表。请先确定该建议是来自某个可信赖的来源,例如Windows的注册表指南或Systweak.com。

在有些时候,间谍软件也安装一个小程序以监视注册表并且重新写入你删除的键值,所以你应该使用诸如Spybot Search and Destroy这样的软件完全地清理你的计算机。

你可以通过注册表做些什么
如果你了解了注册表的基本工作原理,你可以很快地调整计算机的行为以适应你的个人需求。你还可以像在Internet Explorer中那样在注册表中设置收藏夹。如果你正在修改一个需要进行调整的设置,例如在下面例子中,你可以利用这个特性快速返回到你修改的值。

要设置收藏夹,点击键,然后是收藏夹菜单并选择添加收藏夹。给定一个名称并点击OK。回到这个键,你现在可以很容易地从收藏夹菜单中选择收藏。

需要注意的是十进制和十六进制数之间的区别,同样一个数字在这两者中将产生不同的结果。这里的所有例子都使用十进制数。
掌握缩略图
Windows可以在资源管理器的窗口中显示图像为缩略图。如果你感觉这些缩略图的大小或质量不是你喜欢的,你可以利用注册表修改它们。首先,通过创建一个系统恢复点做一个文件备份。现在使用前面介绍的过程打开注册表并且通过点击“+”寻找到下面的键。

现在右击资源管理器图标,选择New并点击DWORD值。在看到NewValue1之后输入文本ThumbnailQuality。你应该只能输入源名称;如果不是,点击新键并按F2以编辑该名称。右击ThumbnailQuality并选择修改。在出现的窗口中,输入一个介于50到100的数字以指定缩略图的质量。默认值是90。该数字越小,图片显示的速度会越快,但是图片显示的质量会越低。点击十进制选项,然后点击OK。

要改变缩略图的大小,右击资源管理器的图标,选择New并点击DWORD值。命名新的值ThumbnailSize,右击它并选择修改。输入一个数字以设置你希望每个缩略图使用的象素数量。默认值是96。点击十进制选项,然后点击OK。在这些修改生效前,你可能需要重新启动计算机。

清除IE历史web站点
尽管我们可以在Internet Explorer中删除你曾经访问过的web站点的历史列表,但系统仍然保存着它们并且当你在地址栏中输入相同的名称时自动显示它们。这个列表被保存在注册表中,如果你愿意你可以删除它。

点击开始按钮,然后点击运行,在窗口中输入regedit并按enter键。接着查找键“HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs”。在右边的窗格中,你将看到曾经访问的所有web站点的列表。要删除该列表中的web站点,点击每一行并按Del键。点击Yes,该记录将被删除。

禁用任务管理器
在处理没有响应的程序时,任务管理器非常有用,但是有时候你可能希望防止其他人使用它,以避免他们停止某个关键的程序,例如你正在运行的病毒扫描器。但是需要了解的是,因为你可以停止任何正在运行的程序,所以稍不注意就很容易导致Windows崩溃。你可以通过下面的方法修改注册表,禁止其他人访问任务管理器:

点击开始按钮,然后是运行。在接下来的窗口中输入regedit并按Enter键。找到下面的键:‘HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\Policies\System’。你需要创建一个System键。右击Policies,选择New,然后点击Key。输入键的名字System。

右击System键,选择New,然后点击DWORD值。输入值的名称为DisableTaskMgr。如果你无法输入名称,左击新的值并在输入新的名称之前按F2键。右击它并选择修改。在值的数据对话框中输入1,选择十进制选项并点击OK。

现在,如果某人通过按下Ctrl+Alt+Del试图打开任务管理器,他们将收到一条消息,告诉他们这已经被禁止了。如果你的计算机上的用户不止一个,你就必须以每个帐户登录,然后重复这个过程。

小心对待它
我们已经用一些例子说明了你可以利用注册表做些什么。随着你更多地学习,你会发现了解你的计算机是如何与注册表相结合是一个很有用的工具,从长远的观点来看会增强你的自信。

通过下面的指导,我希望你能够获得对你的计算机的进一步的理解。需要记住的是,一定要尽可能心怀敬意地对待注册表并且在做修改的时候小心谨慎。一定要先做一个备份并且只在你确切地知道它们是什么以及它们是做什么的时候才修改或添加值。

去了解更多
有大量的web站点介绍如何编辑注册表以及注册表能做些什么。如果你不确定某个特定的修改,你可以到互联网的论坛上和其他用户进行讨论,例如Computeractive论坛。

要想获得更多对注册表进行修改的例子,请查看WinGuides Network for Windows。每项技巧都有你需要修改的键和值的截屏以及它们的外部特征。你也可以下载WinGuides Tweak Manager,它无需使用注册表就可以应用这些修改。

如果你觉得有足够的把握,请查看Windows XP的The Elder Geek。该站点有大量的建议,并且即使你不是在寻找特定的注册表编辑,你或许会发现你希望进行的修改,而你一直不知道该如何实现。

简单Windows注册表技巧
作者 展翅的小龙
一、限制控制面板

1. 打开注册表 中的主键[HKEY_USERS\“用户名”\Software\Microsoft\Windows\CurrenVersion\Policies\System](“用户名”指建立了多用户的系统中,相应的用户的名称,如果未建立多用户则为“.Default”),其下如果有下列DWORD值,则该用户的相应的控制面板项被禁止:
“NoDispAppearancePage”=1(禁用“显示器”属性)
“NoDispBackgroundPage”=1(隐藏“显示器”属性中的“背景”页)
“NoDispCPL”=1(隐藏“显示器”属性中的“屏幕保护程序”页)
“NoDispScrSavPage”=1(隐藏“显示器”属性中的“外观”页)

2.[ HKEY_USERS\用户名\Software\Microsoft\Windows\CurrentVersion\Policies\Network]下如有下列DWORD值,则该用户相应的控制面板项被限制:
“NoNetSetup”=1(禁用“网络”属性)
“NoNetSetupIDPage”=1(隐藏“网络”属性中的“标识”页)
“NoNetSetupSecurityPage”=1(隐藏“网络”属性中的“访问控制”页)

3.[HKEY_USERS\用户名\Software\Microsoft\Windows\CurrentVersion\Policies\System]下如有下列DWORD值,则该用户相应的控制面板项被限制:
“NoSecCPL”=1(禁用“密码”属性)
“NoPwdPage”=1(隐藏“密码”属性中的“更改密码”页)
“NoAdminPage”=1(隐藏“远程管理”页)
“NoProfilePage”=1(隐藏“系统”属性中的“用户配置文件”页)
“NoDevMgrPage”=1(隐藏“系统”属性中的“设备管理”页)
“NoConfigPage”=1(隐藏“系统”属性中的“硬件配置文件”页)
“NoFileSysPage”=1(隐藏“系统”属性“性能”页中的“文件系统”按钮)
“NoVirtMemPage”=1(隐藏“系统”属性“性能”页中的“虚拟内存”按钮)

二、限制开始菜单

如果在[HKEY_USERS\“用户名”\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]下有DWORD值“NoRun”=1时,则该用户的开始菜单中的“运行”命令被禁止;
如果有DWORD值“NoSetFolders”=1时,则该用户的开始菜单中的“设置\文件夹选项”命令被禁止;
如果有DWORD“NoSetTaskbar”=1时,则该用户的开始菜单中的“设置\任务栏和开始菜单”命令被禁止;
如果有DWORD值“NoFind”=1时,则该用户的开始菜单中的“查找”命令被禁止; 如果有DWORD值“NoStartMenuSubFolders”=1,则该用户“开始”菜单中的子文件夹被隐藏;
如果有DWORD值“NoClose”=1时,则该用户的开始菜单中的“关闭系统”命令被禁止;

三、网络和用户设置

1.如果在[HKEY_USERS\“用户名”\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]下有DWORD值“NoDrives”=1时,则该用户“我的电脑”中的所有驱动器被隐藏;
如果有DWORD值“NoNetHooD”=1时,则该用户的“网上邻居”被隐藏;
如果有DWORD值“NoEntioeNetwork”=1时,则该用户的“网上邻居”中 “整个网络” 被隐藏;
如果有字符串值“NoWorkgroupContents”=1时,则该用户的“网上邻居”中工作组目录被隐藏;
如果有DWORD值“NoDesktop”=1时,则该用户的桌面上所有的程序组被隐藏(即没有桌面);
如果有DWORD值“NoSaveSettings”=1时,则该用户退出系统时所作的设置不被保存。

2.拨号网络和共享设置:在[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
\Windows\CurrentVersion\Policies\Network]下建立以下DWORD值,则相应的限制有效:
“NoDialIn”=1(禁止拨入)
“NoFileSharing”=1(禁用文件共享)

3.只运行允许的Windows程序的列表:
[HKEY_USERS\“用户名”\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]下如有主键“RestrictRun”,则其下的字符串值表示允许该用户只能运行的Windows程序的列表。

四、口令设置

在[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Network]下建立以下DWORD值,则相应的设置有效:
“HideSharePwds”=1(使用星号(*)隐藏共享口令)
“DisablePwdCaching”=1(禁用口令缓存;注意!请慎用此项设置,此时控制面板中的“密码”属性中无法更改密码,登录时该用户使用任何一个密码或不用密码就可以登录。)
“AlphanumPwds”=1(使Windows口令必须为数字和字母)
“MinPwdLen”=n(设置Windows口令的最小长度,n大于等于0小于等于8)

五、禁用注册表编辑器

[HKEY_USERS\“用户名”\Software\Microsoft\Windows\CurrentVersion\Policies\System\]下如果有DWORD值“DisableRegstryTools”=1,则禁止该用户使用注册表编辑工具。

六、禁用“MSDOS”方式、禁用单一模式的MSDOS应用程序

[HKEY_USERS\‘用户名’\Software\Microsoft\Windows\CurrentVersion\Policies\System]下如果有主键“WinOldApp”其下有DWORD值“Disabled”=1,则该用户的“MSDOS”方式被禁止;“WinOldApp”下如有DWORD值“NoRealMode”=1,则该用户单一模式的MSDOS应用程序被禁用。

七、自启动的程序

[HKEY_LOCAL_MACHINE\SOFTWARE\Mic rosoft\Windows\CurrentVersion\Run]其下的字符串值表示通过注册表自启动的程序;
[HKEY_LOCAL_MACHINE\SOFTWARE\Mic rosoft\Windows\CurrentVersion\RunOnce]其下的字符串值表示只自启动一次的程序;
[HKEY_LOCAL_MACHINE\SOFTWARE\Mic rosoft\Windows\CurrentVersion\RunServices]其下的字符串值表示通过注册表自启动的服务程序;
[HKEY_LOCAL_MACHINE\SOFTWARE\Mic rosoft\Windows\CurrentVersion\RunServicesOnce]其下的字符串值表示只启动一次的服务程序。

由此,我们可以看出上面所有的DWORD值,如果其值为“1”时表示该值有效,其值为“0”时表示该值无效;我们可以通过改变DWORD值或删除该DWORD,来轻松地使相应的限制有效或无效。(小凤居-吴闻)

Windows XP注册表技巧十则
作者: 展翅的小龙
1、XP中让程序开机即运行的新方法

点击“开始”菜单中的“运行”,在打开的“运行”对话框中输入“Regedit”,打开注册表编辑器。顺次展开注册表到HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows下,在这里新建一个字符串值,方法是右击主键“Windows”,在弹出的菜单中选择“新建”→“串值”,把该字符串值命名为“load”。然后,双击“load”,在弹出的窗口中将它的键值改为你想开机就自动运行的程序路径。要注意的是应该使用文件的短文件名,即“C:\Program Files”应该写为“C:\Progra~1”。

2、屏蔽系统中的热键

点击“开始”→“运行”,输入Regedit,打开注册表编辑器。然后依次打开到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,新建一个双字节值,键名为“NoWindows Keys”,键值为“1”,这样就可以禁止用户利用系统热键来执行一些禁用的命令。如果要恢复,只要将键值设为0或是将此键删除即可。

3、关闭不用的共享

安全问题一直为大家所关注,为了自己的系统安全能够有保证,某些不必要的共享还是应该关闭的。用记事本编辑如下内容的注册表文件,保存为任意名字的.Reg文件,使用时双击即可关闭那些不必要的共享:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]

"AutoShareServer"=dword:00000000

"AutoSharewks"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]

"restrictanonymous"=dword:00000001

4、修改服务名称和解释

在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下的次级主键就是各个服务,选中任何一个次级主键,在右边可以看到DisplayName和Description两个字符串,DisplayName就是在“管理工具→服务”里面显示的名字,Description就是对应服务的描述。二者可以任意修改,但是次级主键名和其他的不能乱动。

5、取消磁盘空间不够警告提示

Windows XP会自动监控磁盘空间剩余量,一旦磁盘空间不足的话,会提示你并挂起系统还原功能。如果要取消的话,就打开注册表编辑器,找到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,新建一个Dword值NoLowDiskSpaceChecks,然后修改为1即可。

6、自动关闭停止响应的程序

在Windows XP操作系统中,我们可以通过修改注册表,使Windows XP诊测到某个应用程序已经停止响应时就自动关闭它,这样就不需要手工干预了。想要实现这个功能,请点击“开始”→“运行”输入RegEdit,打开注册表编辑器,依次展示HKEY_CURRENT_USER\Control Panel\Desktop\Auto End Tasks,将其键值改为1即可。

7、让“我的电脑”和“我的文档”“干坤倒挂”

Win2000以下版本的视窗操作系统的“我的电脑”的图表都是放在“我的文档”之上的,到了Win2000及其以后操作系统则正好相反。在Windows XP中,我们可以利用修改注册表来把“我的电脑”图标放在“我的文档”之上,具体操作步骤如下:在注册表中找到HKEY_CLASSES_ROOT\CLSID\{450D8FBA-AD25-11D0-98A8-0800361B1103},然后新建Dword值“SortOrderIndex”,并修改其键值为“54”(16进制)。如果要把“我的文档”放在首位的话,只需要修改“SortOrderIndex”的键值为48(16进制)即可。

8、每次启动时保持桌面设置不变

我们可以通过修改注册表来保护我们的桌面设置,无论做了什么样的修改,只要重新启动之后桌面就会恢复原样。步骤如下:打开注册表编辑器,找到HKEY_CURRENT_USERS\Software\Microsoft\Windows\CurrentVersion\Polices\Explorer子键分支,在它的下面找到NoSaveSettings,其类型为REG_SZ,将其键值改为“0”,或者直接删除该键值项,重新启动系统使设置生效。

9、禁止IE下载文件

在有些公用电脑上需要禁止下载文件功能,虽然某些管理软件可以做到这一点,但安装调试这类软件实在是太麻烦了。其实在注册表中稍作修改就可以满足大家的要求了。打开注册表编辑器,找到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3,然后在右边找到1803这个DWORD值,将其键值修改为3即可。重新启动IE看看还能不能够下载的?如果要取消限制的话,只需要还原DWORD值为0即可。

10、让IE支持多线程下载

一般情况下,大家都使用多线程下载软件如Flashget等下载文件,其实IE也可以支持多线程下载的,只是微软将这个功能给藏了起来。我们把它给挖出来就可以使用了。打开注册表编辑器,在注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings下新建双字节值项“MaxConnectionsPerServer”,它决定了最大同步下载的连线数目,一般设定为5~8个连线数目比较好。另外,对于HTTP 1.0服务器,可以加入名为“MaxConnectionsPer1_0Server”的双字节值项,它也是用来设置最大同步下载的数目,也可以设定为5~8

② 电脑的注册表编辑器怎么打开

按键盘上的win+r,在运行中输入regedit,回车进入注册表编辑器。

③ 如何做注册表项

1.打开如图的注册表项请右键-打开方式-记事本。 双击则是执行。
2.用记事本打开后即可进行修改。
3.用记事本就可以做,新建记事本,开头加上 Windows Registry Editor Version 5.00 ,换行写指令。写完保存,把记事本的文本文档后缀名 .txt 改为 .reg ,指令格式较繁琐,请网络查阅。

如果是要打开注册表编辑器请在这里 开始-运行-输入regedit-回车。
找到自己想修改的项,右键点击即可修改。
可以用搜索,快速定位指定项或关键字。

④ 怎么进行注册表编程再导入到注册表里呀

1:可能是某些程序正在使用注册表(比如瑞星软件、注册表监控等),关掉它们,再导入试试。
2:到安全模式导入。
3:还不行,就进入DOS,输入:scanreg.exe然后选择“view backup",选择一个注册表导入。

⑤ 注册表怎么学啊

从Windows 95开始,Microsoft在Windows中引入了注册表(英文为REGISTRY)的概念(实际上原来在Windows NT中已有此概念)。注册表是Windows 95及Windows 98的核心数据库,表中存放着各种参数,直接控制着Windows的启动、硬件驱动程序的装载以及一些Windows应用程序运行的正常与否,如果该注册表由于鞭种原因受到了破坏,轻者使Windows的启动过程出现异常,重者可能会导致整个Windows系统的完全瘫痪。因此正确地认识、修改、及时地备份以及有问题时恢复注册表,对Windows用户来说就显得非常重要了。

★如何打开注册表?(在修复注册表前请备份)
点“开始”→运行→输入“regedit”→确定

★一、注册表的结构划分及相互关系
WINDOWS的注册表有六大根键,相当于一个硬盘被分成了六个分区。
在“运行”对话框中输入RegEdit,然后单击“确定”按钮,则可以运行注册表编辑器。

Windows 98中文版的注册表Registry(System.dat、User.dat、Config.pol)的数据组织结构。
注册表的根键共六个。这些根键都是大写的,并以HKEY_为前缀;这种命令约定是以Win32 API的Registry函数的关键字的符号变量为基础的。
虽然在注册表中,六个根键看上去处于一种并列的地位,彼此毫无关系。但事实上,HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG中存放的信息都是HKEY_LOCAL_MACHINE中存放的信息的一部分,而HKEY_CURRENT_USER中存放的信息只是HKEY_USERS存放的信息的一部分。
HKEY_LOCAL_MACHINE包括HKEY_CLASSES_ROOT和HKEY_CURRENT_USER中所有的信息。在每次系统启动后,系统就映射出HKEY_CURRENT_USER中的信息,使得用户可以查看和编辑其中的信息。
实际上,HKEY_LOCAL_MACHINE\SOFTWARE\Classes就是HKEY_CLASSES_ROOT,为了用户便于查看和编辑,系统专门把它作为一个根键。同理,HKEY_CURRENT_CONFIG\SY-STEM\Current Control就是HKEY_LOCAL_MACHINE\SYSTEM\Current Control。
HKEY_USERS中保存了默认用户和当前登录用户的用户信息。HKEY_CURRENT_USER中保存了当前登录用户的用户信息。
HKEY_DYN_DATA保存了系统运行时的动态数据,它反映出系统的当前状态,在每次运行时都是不一样的,即便是在同一台机器上。
根据上面的分析,注册表中的信息可以分为HKEY_LOCAL_MACHINE和HKEY_USERS两大类,这两大类的详细内容请看后面的介绍。

★二、六大根键的作用
在注册表中,所有的数据都是通过一种树状结构以键和子键的方式组织起来,十分类似于目录结构。每个键都包含了一组特定的信息,每个键的键名都是 和它所包含的信息相关的。如果这个键包含子键,则在注册表编辑器窗口中代表这个键的文件夹的左边将有“+”符号,以表示在这个文件夹中有更多的内容。如果这个文件夹被用户打开了,那么这个“+”就会变成“-”。

1.HKEY_USERS
该根键保存了存放在本地计算机口令列表中的用户标识和密码列表。每个用户的预配置信息都存储在HKEY_USERS根键中。HKEY_USERS是远程计算机中访问的根键之一。

2.HKEY_CURRENT_USER
该根键包含本地工作站中存放的当前登录的用户信息,包括用户登录用户名和暂存的密码(注:此密码在输入时是隐藏的)。用户登录Windows 98时,其信息从HKEY_USERS中相应的项拷贝到HKEY_CURRENT_USER中。

3.HKEY_CURRENT_CONFIG
该根键存放着定义当前用户桌面配置(如显示器等)的数据,最后使用的文档列表(MRU)和其他有关当前用户的Windows 98中文版的安装的信息。图5为HKEY_CURRENT_CONFIG子关键字之间的连接情况。

4.HKEY_CLASSES_ROOT
根据在Windows 98中文版中安装的应用程序的扩展名,该根键指明其文件类型的名称。
在第一次安装Windows 98中文版时,RTF(Rich Text format)文件与写字板(WordPad)&127;联系起来,但在以后安装了中文Word 6.0后,双击一个RTF文件时,将自动激活Word。存放在SYSTEM.DAT中的HKEY_CLASSES_ROOT,将替代WIN.INI文件中的[Extensions]&127;小节中的设置项,它把应用程序与文件扩展名联系起来,它也替代了Windows 3.x中的Reg.dat文件中的相似的设置项。

5.HKEY_LOCAL_MACHINE
该根键存放本地计算机硬件数据,此根键下的子关键字包括在SYSTEM.DAT中,用来提供HKEY_LOCAL_MACHINE所需的信息,或者在远程计算机中可访问的一组键中。
该根键中的许多子键与System.ini文件中设置项类似。图7显示了HKEY_LOCAL_MACHINE根键下的各个子键之间的情况。

6.HKEY_DYN_DATA
该根键存放了系统在运行时动态数据,此数据在每次显示时都是变化的,因此,此根键下的信息没有放在注册表中。图8显示了HKEY_DYN_DATA根键下的各个子键的情况。

★三、注册表部分重要内容
注册表是一个大型数据库Registry。要详细地分析该数据库,不是一两页就能介绍完。我曾经用了半年多时间分析此数据库结构。下面只介绍部分重要内容。

(一)HKEY_CLASS_ROOT
1.HKEY_CLASS_ROOT/Paint.Pricture/DefaultIcon双击窗口右侧的默认字符串,在打开的对话框中删除原来的“键值”,输入%1。重新启动后,在“我的电脑”中打开Windows目录,选择“大图标”,然后你看到的Bmp文件的图标再也不是千篇一律的MSPAINT图标了,而是每个Bmp文件的略图(前提是未安装ACDSee等看图软件)。

(二)HKEY_CURRENT_USER
1.HKEY_CURRENT_USER\Control Panel\Desktop 中新建串值名MenuShowDelay=0 可使“开始”菜单中子菜单的弹出速度提高。
2.在HKEY_CURRENT_USER\Control Panel\Deskt-op\WindowsMeterics中新建串值名MinAnimate,值为1启动动画效果开关窗口,值为0取消动画效果。

(三) HKEY_LOCAL_MACHINE
1.HKEY_LOCAL_MACHINE\software\microsoft\windows\currentVersion\explorer\user shell folders 保存个人文件夹、收藏夹的路径。

2.HKEY_LOCAL_MACHINE\system\currentControl-Set\control\keyboard Layouts 保存键盘使用的语言以及各种中文输入法。

3.HKEY_LOCAL_MACHINE\software\microsoft\windows\currentVersion\uninstall 保存已安装的Windows应用程序卸载信息。

4.HKEY_LOCAL_MACHINE\system\CurrentControl-Set\services\class 保存控制面板-增添硬件设备-设备类型目录。

5.HKEY_LOCAL_MACHINE\system\Current-ControlSet\control\update 设置刷新方式。值为00设置为自动刷新,01设置为手工刷新[在资源管理器中按F5]。

6.HKEY_LOCAL_MACHINE\software\microsoft\win-dows\currentVersion\run 保存由控制面板设定的计算机启动时运行程序的名称,其图标显示在任务条右边。在“启动”文件夹程序运行时图标也在任务条右边。

7.HKEY_LOCAL_MACHINE\software\microsoft\windows\currentVersion\Policies\Ratings 保存IE4.0中文版“安全”\“分级审查”中设置的口令(数据加密),若遗忘了口令,删除 Ratings 中的数据即可解决问题。

8.HKEY_LOCAL_MACHINE\software\microsoft\windows\currentVersion\explorer\desktop\nameSpace 保存桌面中特殊的图标,如回收站、收件箱、MS Network等。

(四) HKEY_USERS
1.HKEY_USERS\.Default\software\microsoft\internet explorer\typeURLs保存IE4.0浏览器地址栏中输入的URL地址列表信息。清除文档菜单时将被清空。
2.HKEY_USERS\.Default\so..\mi..\wi..\current-Version\ex..\menuOrder\startMenu保留程序菜单排序信息。
3.HKEY_USERS\.Default\so..\microsoft\windows\current-Version\explorer\RunMRU保存“开始 \ 运行...”中运行的程序列表信息。清除文档菜单时将被清空。
4.HKEY_USERS\.Default\so..\microsoft\windows\current-Version\explorer\RecentDocs 保存最近使用的十五个文档的快捷方式(删除掉可解决文档名称重复的毛病),清除文档菜单时将被清空。
5.HKEY_USERS\.default\software\microsoft\windows\currentVersion\applets 保存Windows应用程序的记录数据。
6.HKEY_USERS\.default\software\microsoft\windows\currentVersion\run保存由用户设定的计算机启动时运行程序的名称,其图标显示在任务条右侧。
注册表通过键和子键来管理各种信息。但是,注册表中的所有信息是以各种形式的键值项数据保存下来。在注册表编辑器右窗格中,保存的都是键值项数据。这些键值项数据可分为如下三种类型:
1.字符串值
在注册表中,字符串值一般用来表示文件的描述、硬件的标识等。通常它由字母和数字组成,最大长度不能超过255个字符。在图9所示中,“D:\pwin98\trident”即为键值名“a”的键值,它是一种字符串值类型的。同样地,“ba”也为键值名“MRUList”的键值。通过键值名、键值就可以组成一种键值项数据,这就相当于Win.ini、Ssyt-em.ini文件中小节下的设置行。其实,使用注册表编辑器将这些键值项数据导出后,其形式与INI文件中的设置行完全相同。

2.二进制值
在注册表中,二进制值是没有长度限制的,可以是任意个字节长。在注册表编辑器中,二进制以十六进制的方式显示出来,如图10所示。 在图10中,键值名Wizard的键值“80 00 00 00”就是一个二进制。在如图11所示的“编辑二进制值”对话框时,在编辑框的左边输入十六进制数时,其右边将会显示相应的ASCII码。

3.DWORD值
DWORD值是一个32位(4个字节,即双字)长度的数值。在注册表编辑器中,您将发现系统会以十六进制的方式显示DWORD值,如图12所示。在编辑DWORD数值时,可以选择用十进制还是16进制的方式进行输入。

⑥ 用批处理修改注册表

选择【开始】→【运行】命令,在【运行】对话框的【打开】文本框中输入“regedit.exe”,单击【确定】按钮,运行注册表编辑器,依次打开以下键:
HKEY_CURRENT_USER\Software\Policies\Microsoft\System
在右边的窗口中新建一个DWORD值,其名称为DisableCMD,设数值数据为2,则表示命令提示符程序和批处理文件都不能被运行,其值为1,则只是禁止命令提示符的运行。

示例:
echo REGEDIT4>iedown.reg
echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3]>>iedown.reg
echo "1803"=dword:00000000>>iedown.reg
以上生成REG文件.
regedit /s iedown.reg
del iedown.reg
运行REG后删除之.

还可以:写一个注册表文件,放在一个位置..
然后批处理导入:
@echo off
regedit /s 注册表文件路径
exit
说明:/s是不弹出确认提示直接导入

先学习一下如何使用.REG文件来操
作注册表.(我们可以用批处理来生成一个REG文件)
关于注册表的操作,常见的是创建、修改、删除。
1.创建
创建分为两种,一种是创建子项(Subkey)
我们创建一个文件,内容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\hacker]
然后执行该脚本,你就已经在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft下创建了一个名字为"hacker"的子项。
另一种是创建一个项目名称
那这种文件格式就是典型的文件格式,和你从注册表中导出的文件格式一致,内容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"Invader"="Ex4rch"
"Door"=C:\\WINNT\\system32\\door.exe
"Autodos"=dword:02
这样就在[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]下 新建了:Invader、door、about这三个项目
Invader的类型是"String value"
door的类型是"REG SZ value"
Autodos的类型是"DWORD value"
2.修改
修改相对来说比较简单,只要把你需要修改的项目导出,然后用记事本进行修改,然后导入(regedit /s)即可。
3.删除
我们首先来说说删除一个项目名称,我们创建一个如下的文件:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"Ex4rch"=-
执行该脚本,[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]下的"Ex4rch"就被删除了;
我们再看看删除一个子项,我们创建一个如下的脚本:
Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
执行该脚本,[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]就已经被删除了。
相信看到这里,.reg文件你基本已经掌握了。那么现在的目标就是用批处理来创建特定内容的.reg文件了,记得我们前面说道的利用重定向符号可以很容易地创建特定类型的文件。
samlpe1:如上面的那个例子,如想生成如下注册表文件
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"Invader"="Ex4rch"
"door"=hex:255
"Autodos"=dword:000000128
只需要这样:
@echo Windows Registry Editor Version 5.00>>Sample.reg
@echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]>Sample.reg
@echo "Invader"="Ex4rch">>Sample.reg
@echo "door"=5>>C:\\WINNT\\system32\\door.exe>>Sample.reg
@echo "Autodos"=dword:02>>Sample.reg
samlpe2:
我们现在在使用一些比较老的木马时,可能会在注册表的
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run(Runonce、Runservices、
Runexec)]下生成一个键值用来实现木马的自启动.但是这样很容易暴露木马程序的路径,从而导致木马被查
杀,相对地若是将木马程序注册为系统服务则相对安全一些.下面以配置好地IRC木马DSNX为例(名为
windrv32.exe)
@start windrv32.exe
@attrib +h +r windrv32.exe
@echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] >>patch.dll
@echo "windsnx "=- >>patch.dll
@sc.exe create Windriversrv type= kernel start= auto displayname= WindowsDriver binpath=
c:\winnt\system32\windrv32.exe
@regedit /s patch.dll
@delete patch.dll
@REM [删除DSNXDE在注册表中的启动项,用sc.exe将之注册为系统关键性服务的同时将其属性设为隐藏和
只读,并config为自启动]
@REM 这样不是更安全.

怎么用批处理命令删注册表里的键值或用命令的方法删注册表值?
REG DELETE KeyName [/v ValueName | /ve | /va] [/f]
KeyName [\\Machine\]FullKey
Machine 远程机器名 - 忽略当前机器的默认值。
远程机器上只有 HKLM 和 HKU。
FullKey ROOTKEY\SubKey
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey 所选 ROOTKEY 下的注册表项的全名。
ValueName 所选项下的要删除的值的名称。
省略时,该项下的所有子项和值都会被删除。
/ve 删除空白值名称的值(默认)。
/va 删除该项下的所有值。
/f 不用提示就强行删除。
例如:
REG DELETE HKLM\Software\MyCo\MyApp\Timeout
删除注册表项 Timeout 及其所有子项和值
REG DELETE \\ZODIAC\HKLM\Software\MyCo /v MTU
删除 ZODIAC 上 MyCo 下的注册表项 MTU
regedit.exe的参数
filename 导入 .reg 文件进注册表
/s 导入 .reg 文件进注册表(安静模式)
/e 导出注册表文件
例:regedit /e filename.reg HKEY_LOCAL_MACHINE\SYSTEM
/L:system 指定 system.dat
/R:user 指定 user.dat
隐藏导入注册表信息用regedit /s 即可
在DOS提示符下键入Regedit命令,将出现一个帮助屏幕。此屏幕给出了其命令行参数及其使用方法。
语法:Regedit[/L:system][/R:user]filename1
Regedit[/L:system][/R:user]/Cfilename2
Regedit[/L:system][/R:user]/Efilename3[regpath]
其中:
/L:system指定system.dat文件的存放位置。
/L:user指定user.dat文件的存放位置。
filename1指定引入注册表数据库的文件名。
/Cfilename2指定形成注册表数据库的文件名。
/Efilename3指定导出注册表文件的文件名。
regpath指定导出注册表文件的开始关键字(缺省为全部关键字)
现举几个例子说明regedit.exe在DOS下的使用方法。
【例1】将系统注册表数据库registry导出到reg1.reg文件中。
regedit/Ereg1.reg
【例2】reg1.reg形成系统注册表数据库registry(全部)中。
regedit/Creg1.reg
【例3】将reg.dat引入系统注册表数据库中(部分)。
regeditreg.dat
【例4】将CJH开始的关键字导出注册表数据库,并命名为cjh.reg。
regedit/Ecjh.regcjh
【例5】指定system/dat存放在D:\PWIN中和user.dat存放在E:\PWIN中,将reg.dat数据文件形成一个新的注册表数据库registry。
regedit/L:D:\PWIN/R:E:\PWIN/Creg.dat
有了以上这些知识,结合在《对注册表进行编程的“捷径”》里讲过的关于导入或导出的注册表文件(*.REG),我们就可以在DOS方式下对注册表进行编程了。
我们还是以更改“*.txt”文件的默认打开方式——“记事本”为“写字板”为例。首先在MS-DOS提示符下导出“HKEY_CLASSES_ROOT\txtfile”子键这一分支,即执行命令:
regedit/Etxt.regHKEY_CLASSES_ROOT\txtfile
然后用DOS下的EDIT编辑器打开txt.reg文件进行编辑:将其中所有的“C:\\WINDOWS\\NOTEPAD.EXE”全部改成“C:\\WINDOWS\\WRITE.EXE”,存盘退出EDIT,再在命令行下执行命令:
regedittxt.reg

XP上新加的注册表操作命令
ADD
REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]

KeyName [\\Machine\]FullKey
远程机器的机器名 - 忽略默认到当前机器。
远程机器上只有 HKLM 和 HKU。
FullKey ROOTKEY\SubKey
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey 所选 ROOTKEY 下注册表项的完整名

/v 所选项之下要添加的值名

/ve 为注册表项添加空白值名<无名称>

/t RegKey 数据类型
[ REG_SZ | REG_MULTI_SZ | REG_DWORD_BIG_ENDIAN |
REG_DWORD | REG_BINARY | REG_DWORD_LITTLE_ENDIAN |
REG_NONE | REG_EXPAND_SZ ]
如果忽略,则采用 REG_SZ

/s 指定一个在 REG_MULTI_SZ 数据字符串中
用作分隔符的字符
如果忽略,则将 "\0" 用作分隔符

/d 要分配给添加的注册表 ValueName 的数据

/f 不用提示就强行改写现有注册表项

例如:

REG ADD \\ABC\HKLM\Software\MyCo
添加远程机器 ABC 上的一个注册表项 HKLM\Software\MyCo

REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead
添加一个值(名称: Data,类型: REG_BINARY,数据: fe340ead)

REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail
添加一个值(名称: MRU,类型: REG_MUTLI_SZ,数据: fax\0

COMPARE
REG COMPARE KeyName1 KeyName2 [/v ValueName | /ve] [Output] [/s]

KeyName [\\Machine\]FullKey
Machine 远程机器名 - 省略当前机器的默认值
远程机器上只有 HKLM 和 HKU
FullKey ROOTKEY\SubKey
如果没有指定 FullKey2,FullKey2 则跟 FullKey1 相同
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey 所选 ROOTKEY 下的注册表项的全名
ValueName 所选注册表项下的要比较的值的名称
省略时,该项下的所有值都会得到比较
/ve 比较空白值<no name>名称的值
/s 比较所有子项和值
Output [/oa | /od | /os | /on]
省略时,只显示不同的结果
/oa 显示所有不同和匹配结果
/od 只显示不同的结果
/os 只显示匹配结果
/on 不显示结果

返回代码:

0 - 成功,比较的结果相同
1 - 失败
2 - 成功,比较的结果不同

例如:

REG COMPARE HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp
将注册表项 MyApp 下的所有值跟 SaveMyApp 比较

REG COMPARE HKLM\Software\MyCo HKLM

COPY
REG COPY KeyName1 KeyName2 [/s] [/f]

KeyName [\\Machine\]FullKey
Machine 远程机器名 - 忽略当前机器的默认值
远程机器上只有 HKLM 和 HKU
FullKey ROOTKEY\SubKey
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey 所选 ROOTKEY 下的注册表项的全名
/s 复制所有子项和值
/f 不用提示就强行复制

例如:

REG COPY HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp /s
将注册表项 MyApp 下的所有子项和值复制到注册表项 SaveMyApp

REG COPY \\ZODIAC\HKLM\Software\MyCo HKLM

DELETE
REG DELETE KeyName [/v ValueName | /ve | /va] [/f]

KeyName [\\Machine\]FullKey
Machine 远程机器名 - 忽略当前机器的默认值
远程机器上只有 HKLM 和 HKU
FullKey ROOTKEY\SubKey
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey 所选 ROOTKEY 下的注册表项的全名
ValueName 所选项下的要删除的值的名称
省略时,该项下的所有子项和值都会被删除
/ve 删除空白值名称<no name>的值
/va 删除该项下的所有值
/f 不用提示就强行删除

例如:

REG DELETE HKLM\Software\MyCo\MyApp\Timeout
删除注册表项 T

LOAD
REG LOAD KeyName FileName

KeyName ROOTKEY\SubKey (只是本地机器的)
ROOTKEY [ HKLM | HKU ]
SubKey 要将配置单元文件加载进的注册表项名称。创建一个新的注册表项
FileName 要加载的配置单元文件名
您必须使用 REG SAVE 来创建这个文件

QUERY
REG QUERY KeyName [/v ValueName | /ve] [/s]

KeyName [\Machine\]FullKey
Machine 远程机器名 - 忽略当前机器的默认值
远程机器上只有 HKLM 和 HKU
FullKey 格式为 ROOTKEY\SubKey
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey 所选 ROOTKEY 下的注册表项的全名
/v 查询特定注册表项
ValueName 所选项下的要查询的值的名称
省略时,该项下的所有值都会得到查询
/ve 查询默认值或空白值名称<no name>
/s 查询所有子项和值

RESTORE
REG RESTORE KeyName FileName

KeyName ROOTKEY\SubKey (只是本地机器)
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey 要将配置单元文件还原到的注册表项全名。
改写现有项的值和子项
FileName 要还原的配置单元文件名
您必须使用 REG SAVE 来创建这个文件

SAVE
REG SAVE KeyName FileName

KeyName ROOTKEY\SubKey
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey 所选 ROOTKEY 下的注册表项的全名
FileName 要保存的磁盘文件名。如果没有指定路径,
文件会在调用进程的当前文件夹中得到创建

UNLOAD
REG UNLOAD KeyName

KeyName ROOTKEY\SubKey (只是本地机器的)
ROOTKEY [ HKLM | HKU ]
SubKey 要卸载的配置单元的注册表项名称

reg add "项" /v(value的缩写) 值 /t(type) reg_dword(默认是eg_sz) /d(data的缩写) "要插入的数据值" /f(forbiden的缩写,即强制的意思)
例如
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session" /v test /t reg_dword /d 1 /f
这句命令就是往你的注册表
HKLM\SYSTEM\CurrentControlSet\Control\Session
这个项下面新建一个 reg_dowrd 类型的值,名字为test,数据为 1
/f 表示在运行如果注册表里已经有这个值也不会提示你,直接修改,
如果没有这个参数的话,它会提示你是不是要修改

⑦ 如何在C#中使用和修改注册表

由于Visual C#本身没有类库,是通过.Net FrameWork SDK(软件开发包)定义的一些类来实现对注册表的操作的。这就是名称空间Microsoft.Win32中封装的二个类:Registry类和RegistryKey类。在RegistryKey类中定义了二个方法用来创建注册表中的主键、子键和键值。它们是CreateSubValue ( )方法和SetValue ( )方法。那么如何用Visual C#来修改注册信息?在本文中,我们只介绍修改注册表中的键值的方法。而对于主键和子键,由于.Net FrameWork SDK中还没有定义这方面的方法,所以还无法完成安全的修改注册表中的信息。

一.Visual C#创建和修改注册信息要调用的两个方法

(1)CreateSubKey ( String key )方法:此方法是创建以后面的字符串为名称的子键。当然这种方法不仅能够创建子键,在下面介绍的程序中,也通过此种方法来创建一个主键。

(2)SetValue ( String name , String keyvalue )方法:此方法的作用有二,一是可以用来重命名键值的数值,一是可以用来创建新的键值。具体情况为:当打开的子键中,如果存在此键值,就把新值赋给他,实现重命名操作。如果不存在,则创建一个新的键值。

二.程序设计和运行环境以及要准备的工作

I>视窗系统2000服务器版

II>.Net FrameWork SDK Beta 2版

III>由于在程序中,要修改一个已经存在的键值,所以就要预先设置好键值所在的位置。打开注册表的编辑器,在"HKEY_LOCAL_MACHINE"主键下面的"HARDWARE"子键下面创建"aaa"子键并在此子键下面创建一个名称为"bbb"的键值。具体如下图所示:

三.程序的主要功能以及设计的重要步骤

在下面介绍的程序中,主要的功能是用Visual C#在注册表中创建一个主键、一个子键和修改一个指定的键值。其中要创建的子键的结构层次是在主键"HKEY_LOCAL_MACHIN"下面的"HAREWARE"主键下,名称为"ddd",其中包含一个键值,名称为"www",键值的值为"1234"。

其中的要创建的主键的结构层次也是在主键"HKEY_LOCAL_MACHIN"下面的"HAREWARE"主键下,名称为"main",在此主键下面包含一个名称为"sub"的子键和名称为"value"键值,键值的值为"1234"。下面就来着重介绍Visual C#是如何创建和修改这些主键、子键和键值的。

(1)如何创建一个子键,在程序中是结合CreateSubKey ( )方法和SetValue ( )方法来实现的,以下是程序中创建子键的源程序:

listBox1.Items.Clear ( ) ;
RegistryKey hklm = Registry.LocalMachine ;
RegistryKey software = hklm.OpenSubKey ( "HARDWARE" , true ) ;
RegistryKey main1 = software.CreateSubKey ( "main" ) ;
RegistryKey ddd = main1.CreateSubKey ( "sub" ) ;
ddd.SetValue ( "value" , "1234" );

(2)如何创建一个主键,创建一个主键和创建一个子键的过程大致是差不多的。由于主键包含若干子键,所以在创建主键的时候必须注意他们的层次关系。下面这一段程序,在参考的时候,请注意一下main键和sub键之间的关系。

listBox1.Items.Clear ( ) ;
RegistryKey hklm = Registry.LocalMachine ;
RegistryKey software = hklm.OpenSubKey ( "HARDWARE", true ) ;
RegistryKey main1 = software.CreateSubKey ( "main" ) ;
RegistryKey ddd = main1.CreateSubKey ( "sub" ) ;
ddd.SetValue ( "value" , "1234" ) ;

(3)如何修改注册信息。由于注册表中的信息十分重要,所以一般不要对其进行写的操作。也可能是这个原因,在.Net FrameWork SDK 中并没有提供修改注册表键的方法。而只是提供了一个危害性相对较小的方法--SetValue ( ),通过这个方法,我们可以来修改键值。下面程序代码是修改一个指定键值名称的键值。当然由于SetValue( )方法的特性,如果它检测到这个键值不存在,就会创建一个新的键值。

listBox1.Items.Clear ( ) ;
RegistryKey hklm = Registry.LocalMachine ;
RegistryKey software = hklm.OpenSubKey ( "HARDWARE", true ) ;
RegistryKey dddw = software.OpenSubKey ( "aaa" , true ) ;
dddw.SetValue ( "bbb" , "abcd" ) ;

四.本文中源程序代码( reg.cs )以及编译后的程序运行界面:
以下是程序运行的界面:

reg.cs程序代码如下:

using System ;
using System.Drawing ;
using System.Collections ;
using System.ComponentModel ;
using System.Windows.Forms ;
using System.Data ;
using Microsoft.Win32 ;
//导入使用到的名称空间

public class Form1 : Form
{
private System.ComponentModel.Container components ;
private ListBox listBox1 ;
private Button button1 ;
private Button button2 ;
private Button button3 ;
private Button button4 ;

public Form1 ( )
{
InitializeComponent ( ) ;
}
//清除在程序中使用过的资源
public override void Dispose ( )
{
base.Dispose ( ) ;
components.Dispose ( ) ;
}
//初始化程序中使用到的组件
private void InitializeComponent ( )
{
this.components = new System.ComponentModel.Container ( ) ;
this.button1 = new Button ( ) ;
this.listBox1 = new ListBox ( ) ;
button1.Location = new System.Drawing.Point ( 16 , 320 ) ;
button1.Size = new System.Drawing.Size ( 90 , 23 ) ;
button1.TabIndex = 0 ;
button1.Text = "读取注册表" ;
button1.Click += new System.EventHandler ( this.button1_Click ) ;

this.button2 = new Button ( ) ;
button2.Location = new System.Drawing.Point ( 116 , 320 ) ;
button2.Size = new System.Drawing.Size ( 90 , 23 ) ;
button2.TabIndex = 1 ;
button2.Text = "创建子键" ;
button2.Click += new System.EventHandler ( this.button2_Click ) ;

this.button3 = new Button ( ) ;
button3.Location = new System.Drawing.Point ( 216 , 320 ) ;
button3.Size = new System.Drawing.Size ( 90 , 23 ) ;
button3.TabIndex = 2 ;
button3.Text = "创建主键" ;
button3.Click += new System.EventHandler ( this.button3_Click ) ;

this.button4 = new Button ( ) ;
button4.Location = new System.Drawing.Point ( 316 , 320 ) ;
button4.Size = new System.Drawing.Size ( 90 , 23 ) ;
button4.TabIndex = 3 ;
button4.Text = "重命名键值" ;
button4.Click += new System.EventHandler ( this.button4_Click ) ;

listBox1.Location = new System.Drawing.Point ( 16 , 32 ) ;
listBox1.Size = new System.Drawing.Size ( 496 , 264 ) ;
listBox1.TabIndex = 4 ;
this.Text = "用Visual C#来创建和修改注册表中的注册信息!" ;
this.AutoScaleBaseSize = new System.Drawing.Size ( 5 , 13 ) ;
this.ClientSize = new System.Drawing.Size ( 528 , 357 ) ;
//在窗体中加入组件
this.Controls.Add ( this.listBox1 ) ;
this.Controls.Add ( this.button1 ) ;
this.Controls.Add ( this.button2 ) ;
this.Controls.Add ( this.button3 ) ;
this.Controls.Add ( this.button4 ) ;
}
//以列表形式显示"HARDWARE"下面一层的子键和键值
protected void button1_Click ( object sender , System.EventArgs e )
{
listBox1.Items.Clear ( ) ;
RegistryKey hklm = Registry.LocalMachine ;
RegistryKey software = hklm.OpenSubKey ( "HARDWARE" ) ;
//打开"SYSTEM"子键
foreach ( string site in software.GetSubKeyNames ( ) )
//开始遍历由子键名称组成的字符串数组
{
listBox1.Items.Add ( site ) ;
//在列表中加入子键名称
RegistryKey sitekey = software.OpenSubKey ( site ) ;
//打开此子键
foreach ( string sValName in sitekey.GetValueNames ( ) )
//开始遍历由指定子键拥有的键值名称组成的字符串数组
{
listBox1.Items.Add ( " " + sValName + ": " + sitekey.GetValue ( sValName ) ) ;
//在列表中加入键名称和对应的键值
}
}
}
//创建子键和键值
protected void button2_Click ( object sender , System.EventArgs e )
{
listBox1.Items.Clear ( ) ;
RegistryKey hklm = Registry.LocalMachine ;
RegistryKey software = hklm.OpenSubKey ( "HARDWARE", true ) ;
RegistryKey ddd = software.CreateSubKey ( "ddd" ) ;
ddd.SetValue ( "www" , "1234" );
}
//创建一个主键并创建一个键值
protected void button3_Click ( object sender , System.EventArgs e )
{
listBox1.Items.Clear ( ) ;
RegistryKey hklm = Registry.LocalMachine ;
RegistryKey software = hklm.OpenSubKey ( "HARDWARE", true ) ;
RegistryKey main1 = software.CreateSubKey ( "main" ) ;
RegistryKey ddd = main1.CreateSubKey ( "sub" ) ;
ddd.SetValue ( "value" , "1234" ) ;
}
//重命名一个存在的键值
protected void button4_Click ( object sender , System.EventArgs e )
{
listBox1.Items.Clear ( ) ;
RegistryKey hklm = Registry.LocalMachine ;
RegistryKey software = hklm.OpenSubKey ( "HARDWARE", true ) ;
RegistryKey dddw = software.OpenSubKey ( "aaa" , true ) ;
dddw.SetValue ( "bbb" , "abcd" ) ;
}
public static void Main ( )
{
Application.Run ( new Form1 ( ) ) ;
}
}

⑧ 请高手讲解一下注册编辑表的基本知识。

对我们大多数人而言,注册表就像我们汽车上的密封垫片:我们知道它在那里,它至关重要而且我们感觉不到它的存在。就像一辆车的密封垫片如果不合适,那它就不能跑很远,错误的注册表可以终止Windows,甚至让它无法启动。但如果你知道你正在做什么,注册表会在高效处理方面成为你的重要的帮手。

该指南将告诉你该如何安全地编辑注册表以个性化你的计算机。也就是说,要明白注册表并不是Windows中可有可无的元素。一个错误的修改可以导致PC的崩溃,所以在你完整地读完这篇指南之前请不要尝试做任何修改。

即使目前你还缺乏做任何修改的自信,我们建议你往下读,在理解了注册表如何控制你的PC之后,将会扩展你各方面的计算机知识并且在以后可以帮助你修复各种问题。

并非所有修改都是好的
在我们开始之前,请允许我详细叙述我们对注册表进行修改的警告。注册表中包含的大多数信息对平稳运行Windows至关重要,修改或删除这些值会完全终止你的计算机。

另一项需要记住的重要事情是对注册表的任何修改输入之后,它们就开始发生作用。注册表和Word文档不一样,Word是你必须选择保存,而且也没有撤销功能。这里不是可以胡乱进行修补的地方,但是有一个很容易就实施的保险策略。和其他类型的数据一样,注册表信息可以被备份,创建一个拷贝从而如果出现问题就可以进行恢复。

实际上,注册表非常重要,以至于Windows在每次开始的时候都会自动对它进行备份。Windows可以利用该备份自动修复某些问题,但你所做的多数修改都需要你自己来修复。

在进行修改之前,最简单的保护自己的方法是创建一个系统恢复点,这让注册表在某个点建立单独的、不可修改的记录,如果需要你可以返回到这个点。

你或许还希望用笔和纸记下你对注册表所作的所有修改。虽然计算机没有完全停止工作,你可能想撤销某些修改,而且很容易就可以实现这一点,只需通过快速查阅记录,而不必恢复整个注册表。

注册表的任务是什么?
考虑到这些警告,你可能奇怪注册表真正做了什么,以及为什么所有人都想胡乱地修补它。它是所有和Windows以及你在计算机上安装的软件、硬件相关的设置和信息的一个中央记录。在Windows 95之前,这些信息被保存在大量不同的文本文件当中。它们很容易被编辑,而你首先必须要找到它们,而且在你编程试图和它们进行交互的时候经常会发生问题。

注册表的一个好处是添加或删除程序功能,这是开始菜单中控制面板功能的一部分。你安装软件的时候,在注册表中做了一个记录,所以在添加或删除程序中作为一个专门列表的一部分出现。

注册表的功能是什么?
注册表保存在你的硬盘的几个文件当中,但访问和修改它们的唯一途径是使用注册表编辑器程序。要访问它,点击开始按钮,然后点击运行。在出现的对话框中输入regedit并按Enter键。这会进入注册表编辑器,你现在就看到了注册表。

注册表组织得更像磁盘上的文件,如果你曾经在Windows浏览器中使用过文件夹视图的话,你会根据很熟悉。然而在注册表中,这些文件夹被称为键。要打开某个键,只需点击它旁边的小加号(+)。然后你会看到每个键下包含更多的键,称为子键或值。

这些数以千计的键根据逻辑进行排列,在你第一次看到注册表的时候可能会使你感觉无从下手。要把头绪理清楚,首先要知道有五个根键以及注册表的基本组成结构。

值是指各种不同键的单独设置,因此是可自定义的。它们在注册表窗口左侧以名称排列,它们还说明了包含数据的类型以及数据本身。不用担心使用的是哪种数据类型,因为这对数据本身是明显的,或者在编辑过程中会作出解释。

修改注册表
你肯定已经对注册表作过修改,但只是通过控制面板或安装其它软件这样的间接途径。第三方软件也可以实现这一点,但你应该只使用那些值得信任的软件。让某个不知名的应用程序编辑注册表可能会给间谍软件留下后门。

一些可用的软件提供了你在别的地方看不到的设置。Registry Mechanic就是这样一个程序。其他诸如Norton SystemWorks这样的工具可以扫描注册表中不再需要并且可以删除的键值。注册表越庞大,你的计算机的运行就会变得越慢,所以SystemWorks非常有用。

间谍软件通常在注册表中建立键值以确保自己已经启动以便在Windows开始的时候监视你的计算机。在寻找有关如何删除这些程序的建议的时候,你可能会被告知需要编辑注册表。请先确定该建议是来自某个可信赖的来源,例如Windows的注册表指南或Systweak.com。

在有些时候,间谍软件也安装一个小程序以监视注册表并且重新写入你删除的键值,所以你应该使用诸如Spybot Search and Destroy这样的软件完全地清理你的计算机。

你可以通过注册表做些什么
如果你了解了注册表的基本工作原理,你可以很快地调整计算机的行为以适应你的个人需求。你还可以像在Internet Explorer中那样在注册表中设置收藏夹。如果你正在修改一个需要进行调整的设置,例如在下面例子中,你可以利用这个特性快速返回到你修改的值。

要设置收藏夹,点击键,然后是收藏夹菜单并选择添加收藏夹。给定一个名称并点击OK。回到这个键,你现在可以很容易地从收藏夹菜单中选择收藏。

需要注意的是十进制和十六进制数之间的区别,同样一个数字在这两者中将产生不同的结果。这里的所有例子都使用十进制数。

掌握缩略图
Windows可以在资源管理器的窗口中显示图像为缩略图。如果你感觉这些缩略图的大小或质量不是你喜欢的,你可以利用注册表修改它们。首先,通过创建一个系统恢复点做一个文件备份。现在使用前面介绍的过程打开注册表并且通过点击“+”寻找到下面的键。

现在右击资源管理器图标,选择New并点击DWORD值。在看到NewValue1之后输入文本ThumbnailQuality。你应该只能输入源名称;如果不是,点击新键并按F2以编辑该名称。右击ThumbnailQuality并选择修改。在出现的窗口中,输入一个介于50到100的数字以指定缩略图的质量。默认值是90。该数字越小,图片显示的速度会越快,但是图片显示的质量会越低。点击十进制选项,然后点击OK。

要改变缩略图的大小,右击资源管理器的图标,选择New并点击DWORD值。命名新的值ThumbnailSize,右击它并选择修改。输入一个数字以设置你希望每个缩略图使用的象素数量。默认值是96。点击十进制选项,然后点击OK。在这些修改生效前,你可能需要重新启动计算机。

清除IE历史web站点
尽管我们可以在Internet Explorer中删除你曾经访问过的web站点的历史列表,但系统仍然保存着它们并且当你在地址栏中输入相同的名称时自动显示它们。这个列表被保存在注册表中,如果你愿意你可以删除它。

点击开始按钮,然后点击运行,在窗口中输入regedit并按enter键。接着查找键“HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs”。在右边的窗格中,你将看到曾经访问的所有web站点的列表。要删除该列表中的web站点,点击每一行并按Del键。点击Yes,该记录将被删除。

禁用任务管理器
在处理没有响应的程序时,任务管理器非常有用,但是有时候你可能希望防止其他人使用它,以避免他们停止某个关键的程序,例如你正在运行的病毒扫描器。但是需要了解的是,因为你可以停止任何正在运行的程序,所以稍不注意就很容易导致Windows崩溃。你可以通过下面的方法修改注册表,禁止其他人访问任务管理器:

点击开始按钮,然后是运行。在接下来的窗口中输入regedit并按Enter键。找到下面的键:‘HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\Policies\System’。你需要创建一个System键。右击Policies,选择New,然后点击Key。输入键的名字System。

右击System键,选择New,然后点击DWORD值。输入值的名称为DisableTaskMgr。如果你无法输入名称,左击新的值并在输入新的名称之前按F2键。右击它并选择修改。在值的数据对话框中输入1,选择十进制选项并点击OK。

现在,如果某人通过按下Ctrl+Alt+Del试图打开任务管理器,他们将收到一条消息,告诉他们这已经被禁止了。如果你的计算机上的用户不止一个,你就必须以每个帐户登录,然后重复这个过程。

小心对待它
我们已经用一些例子说明了你可以利用注册表做些什么。随着你更多地学习,你会发现了解你的计算机是如何与注册表相结合是一个很有用的工具,从长远的观点来看会增强你的自信。

通过下面的指导,我希望你能够获得对你的计算机的进一步的理解。需要记住的是,一定要尽可能心怀敬意地对待注册表并且在做修改的时候小心谨慎。一定要先做一个备份并且只在你确切地知道它们是什么以及它们是做什么的时候才修改或添加值。

去了解更多
有大量的web站点介绍如何编辑注册表以及注册表能做些什么。如果你不确定某个特定的修改,你可以到互联网的论坛上和其他用户进行讨论,例如Computeractive论坛。

要想获得更多对注册表进行修改的例子,请查看WinGuides Network for Windows。每项技巧都有你需要修改的键和值的截屏以及它们的外部特征。你也可以下载WinGuides Tweak Manager,它无需使用注册表就可以应用这些修改。

如果你觉得有足够的把握,请查看Windows XP的The Elder Geek。该站点有大量的建议,并且即使你不是在寻找特定的注册表编辑,你或许会发现你希望进行的修改,而你一直不知道该如何实现。

⑨ 注册表详细使用说明

对我们大多数人而言,注册表就像我们汽车上的密封垫片:我们知道它在那里,它至关重要而且我们感觉不到它的存在。就像一辆车的密封垫片如果不合适,那它就不能跑很远,错误的注册表可以终止Windows,甚至让它无法启动。但如果你知道你正在做什么,注册表会在高效处理方面成为你的重要的帮手。

该指南将告诉你该如何安全地编辑注册表以个性化你的计算机。也就是说,要明白注册表并不是Windows中可有可无的元素。一个错误的修改可以导致PC的崩溃,所以在你完整地读完这篇指南之前请不要尝试做任何修改。

即使目前你还缺乏做任何修改的自信,我们建议你往下读,在理解了注册表如何控制你的PC之后,将会扩展你各方面的计算机知识并且在以后可以帮助你修复各种问题。

并非所有修改都是好的

在我们开始之前,请允许我详细叙述我们对注册表进行修改的警告。注册表中包含的大多数信息对平稳运行Windows至关重要,修改或删除这些值会完全终止你的计算机。

另一项需要记住的重要事情是对注册表的任何修改输入之后,它们就开始发生作用。注册表和Word文档不一样,Word是你必须选择保存,而且也没有撤销功能。这里不是可以胡乱进行修补的地方,但是有一个很容易就实施的保险策略。和其他类型的数据一样,注册表信息可以被备份,创建一个拷贝从而如果出现问题就可以进行恢复。

实际上,注册表非常重要,以至于Windows在每次开始的时候都会自动对它进行备份。Windows可以利用该备份自动修复某些问题,但你所做的多数修改都需要你自己来修复。

在进行修改之前,最简单的保护自己的方法是创建一个系统恢复点,这让注册表在某个点建立单独的、不可修改的记录,如果需要你可以返回到这个点。

你或许还希望用笔和纸记下你对注册表所作的所有修改。虽然计算机没有完全停止工作,你可能想撤销某些修改,而且很容易就可以实现这一点,只需通过快速查阅记录,而不必恢复整个注册表。

注册表的任务是什么?

考虑到这些警告,你可能奇怪注册表真正做了什么,以及为什么所有人都想胡乱地修补它。它是所有和Windows以及你在计算机上安装的软件、硬件相关的设置和信息的一个中央记录。在Windows 95之前,这些信息被保存在大量不同的文本文件当中。它们很容易被编辑,而你首先必须要找到它们,而且在你编程试图和它们进行交互的时候经常会发生问题。

注册表的一个好处是添加或删除程序功能,这是开始菜单中控制面板功能的一部分。你安装软件的时候,在注册表中做了一个记录,所以在添加或删除程序中作为一个专门列表的一部分出现。

注册表的功能是什么?

注册表保存在你的硬盘的几个文件当中,但访问和修改它们的唯一途径是使用注册表编辑器程序。要访问它,点击开始按钮,然后点击运行。在出现的对话框中输入regedit并按Enter键。这会进入注册表编辑器,你现在就看到了注册表。

注册表组织得更像磁盘上的文件,如果你曾经在Windows浏览器中使用过文件夹视图的话,你会根据很熟悉。然而在注册表中,这些文件夹被称为键。要打开某个键,只需点击它旁边的小加号(+)。然后你会看到每个键下包含更多的键,称为子键或值。

这些数以千计的键根据逻辑进行排列,在你第一次看到注册表的时候可能会使你感觉无从下手。要把头绪理清楚,首先要知道有五个根键以及注册表的基本组成结构。

值是指各种不同键的单独设置,因此是可自定义的。它们在注册表窗口左侧以名称排列,它们还说明了包含数据的类型以及数据本身。不用担心使用的是哪种数据类型,因为这对数据本身是明显的,或者在编辑过程中会作出解释。

修改注册表

你肯定已经对注册表作过修改,但只是通过控制面板或安装其它软件这样的间接途径。第三方软件也可以实现这一点,但你应该只使用那些值得信任的软件。让某个不知名的应用程序编辑注册表可能会给间谍软件留下后门。

一些可用的软件提供了你在别的地方看不到的设置。Registry Mechanic就是这样一个程序。其他诸如Norton SystemWorks这样的工具可以扫描注册表中不再需要并且可以删除的键值。注册表越庞大,你的计算机的运行就会变得越慢,所以SystemWorks非常有用。

间谍软件通常在注册表中建立键值以确保自己已经启动以便在Windows开始的时候监视你的计算机。在寻找有关如何删除这些程序的建议的时候,你可能会被告知需要编辑注册表。请先确定该建议是来自某个可信赖的来源,例如Windows的注册表指南或Systweak.com。

在有些时候,间谍软件也安装一个小程序以监视注册表并且重新写入你删除的键值,所以你应该使用诸如Spybot Search and Destroy这样的软件完全地清理你的计算机。

你可以通过注册表做些什么

如果你了解了注册表的基本工作原理,你可以很快地调整计算机的行为以适应你的个人需求。你还可以像在Internet Explorer中那样在注册表中设置收藏夹。如果你正在修改一个需要进行调整的设置,例如在下面例子中,你可以利用这个特性快速返回到你修改的值。

要设置收藏夹,点击键,然后是收藏夹菜单并选择添加收藏夹。给定一个名称并点击OK。回到这个键,你现在可以很容易地从收藏夹菜单中选择收藏。

需要注意的是十进制和十六进制数之间的区别,同样一个数字在这两者中将产生不同的结果。这里的所有例子都使用十进制数。

掌握缩略图

Windows可以在资源管理器的窗口中显示图像为缩略图。如果你感觉这些缩略图的大小或质量不是你喜欢的,你可以利用注册表修改它们。首先,通过创建一个系统恢复点做一个文件备份。现在使用前面介绍的过程打开注册表并且通过点击“+”寻找到下面的键。

现在右击资源管理器图标,选择New并点击DWORD值。在看到NewValue1之后输入文本ThumbnailQuality。你应该只能输入源名称;如果不是,点击新键并按F2以编辑该名称。右击ThumbnailQuality并选择修改。在出现的窗口中,输入一个介于50到100的数字以指定缩略图的质量。默认值是90。该数字越小,图片显示的速度会越快,但是图片显示的质量会越低。点击十进制选项,然后点击OK。

要改变缩略图的大小,右击资源管理器的图标,选择New并点击DWORD值。命名新的值ThumbnailSize,右击它并选择修改。输入一个数字以设置你希望每个缩略图使用的象素数量。默认值是96。点击十进制选项,然后点击OK。在这些修改生效前,你可能需要重新启动计算机。

清除IE历史web站点

尽管我们可以在Internet Explorer中删除你曾经访问过的web站点的历史列表,但系统仍然保存着它们并且当你在地址栏中输入相同的名称时自动显示它们。这个列表被保存在注册表中,如果你愿意你可以删除它。

点击开始按钮,然后点击运行,在窗口中输入regedit并按enter键。接着查找键“HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs”。在右边的窗格中,你将看到曾经访问的所有web站点的列表。要删除该列表中的web站点,点击每一行并按Del键。点击Yes,该记录将被删除。

禁用任务管理器

在处理没有响应的程序时,任务管理器非常有用,但是有时候你可能希望防止其他人使用它,以避免他们停止某个关键的程序,例如你正在运行的病毒扫描器。但是需要了解的是,因为你可以停止任何正在运行的程序,所以稍不注意就很容易导致Windows崩溃。你可以通过下面的方法修改注册表,禁止其他人访问任务管理器:

点击开始按钮,然后是运行。在接下来的窗口中输入regedit并按Enter键。找到下面的键:‘HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\Policies\System’。你需要创建一个System键。右击Policies,选择New,然后点击Key。输入键的名字System。

右击System键,选择New,然后点击DWORD值。输入值的名称为DisableTaskMgr。如果你无法输入名称,左击新的值并在输入新的名称之前按F2键。右击它并选择修改。在值的数据对话框中输入1,选择十进制选项并点击OK。

现在,如果某人通过按下Ctrl+Alt+Del试图打开任务管理器,他们将收到一条消息,告诉他们这已经被禁止了。如果你的计算机上的用户不止一个,你就必须以每个帐户登录,然后重复这个过程。

小心对待它

我们已经用一些例子说明了你可以利用注册表做些什么。随着你更多地学习,你会发现了解你的计算机是如何与注册表相结合是一个很有用的工具,从长远的观点来看会增强你的自信。

通过下面的指导,我希望你能够获得对你的计算机的进一步的理解。需要记住的是,一定要尽可能心怀敬意地对待注册表并且在做修改的时候小心谨慎。一定要先做一个备份并且只在你确切地知道它们是什么以及它们是做什么的时候才修改或添加值。

去了解更多

有大量的web站点介绍如何编辑注册表以及注册表能做些什么。如果你不确定某个特定的修改,你可以到互联网的论坛上和其他用户进行讨论,例如Computeractive论坛。

要想获得更多对注册表进行修改的例子,请查看WinGuides Network for Windows。每项技巧都有你需要修改的键和值的截屏以及它们的外部特征。你也可以下载WinGuides Tweak Manager,它无需使用注册表就可以应用这些修改。

如果你觉得有足够的把握,请查看Windows XP的The Elder Geek。该站点有大量的建议,并且即使你不是在寻找特定的注册表编辑,你或许会发现你希望进行的修改,而你一直不知道该如何实现

阅读全文

与注册表编程步骤相关的资料

热点内容
电脑wechat是什么文件夹 浏览:956
单片机moc3041 浏览:786
at命令串口助手 浏览:749
吸血app怎么关闭 浏览:35
云服务器地图不见了怎么办 浏览:240
mc服务器应该叫什么名字 浏览:607
推拉门增加密封性 浏览:731
服务器搬家需要什么 浏览:541
普通电脑如何添加服务器 浏览:401
在外包公司如何成为优秀的程序员 浏览:413
无服务器如何开发 浏览:802
怎么改中国移动服务器 浏览:779
一年程序员发展规划 浏览:986
个人发卡网弹窗源码 浏览:472
返诈骗app推广码如何弄 浏览:857
aksk如何加密 浏览:982
小新电脑服务器是什么 浏览:94
单片机可编程外围芯片 浏览:827
程序编译时形成逻辑地址吗 浏览:196
创建服务器号如何开启 浏览:849