Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)qqpublished in(发表于) 2014/7/11 9:23:22 C#教程:保护注册表
C#教程:保护注册表
保护注册表注册表在操作系统中起着非常重要的地位,如果注册表被非法用户修改,很有可能使系统中的某些程序无法运行,甚至会造成整个系统的崩溃。为了防止由于非法用户擅自使用计算机给用户带来的损害,用户必须使用相关技术来保护注册表。为了防止由于注册表的改动而对计算机产生影响,用户可以通过禁止使用注册表编辑器的方法来禁止用户使用注册表。通过Microsoft.Win32命名空间下的Registry类与RegistryKey类,实现在注册表中的“HKEY_ CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem”子项中新建一个名为DisableRegistryTools的双字节值项,并将该值项的数值数据设置为1。如果要恢复注册表为允许使用的状态,可以使用RegDeleteKey类删除System子项。注意:在进行此项操作之前,建议用户应从安全角度出发,首先对注册表文件进行备份或准备另外一个注册表修改工具,因为在进行此项操作之后,用户就无法使用注册表编辑器来打开注册表了。另外,如果用户需要使用注册表编辑器,可以在“安全模式”下对注册表进行修改等操作。通过操作注册表控制“注册表编辑器”,程序运行结果如图1所示,单击【禁用Regedit】按钮,将出现如图2所示信息,这时在“运行”窗口中输入“regedit”命令,如图3所示,将弹出图4的提示信息。这样便可以防止非法用户修改注册表。为了方便用户使用,这里提供了启用注册表的功能。单击【启用Regedit】按钮后将弹出如图5所示的窗口,这时用户便可以正常操作注册表。图1 保护注册表图2 禁用提示图3 运行注册表编辑器图4 提示信息图5 启用提示禁用注册表编辑器,通过Registry类的CreateSubKey方法在“HKEY_CURRENT_USER SoftwareMicrosoftWindowsCurrentVersionPoliciesSystem”键下创建一个“DisableRegistryTools”子键并且令其键值为“1”,程序代码如下:private void button2_Click(object sender, EventArgs e){try{RegistryKey rgK = Registry.CurrentUser.CreateSubKey(@"SoftwareMicrosoftWindowsCurrent VersionPoliciesSystem");rgK.SetValue("DisableRegistryTools", 1, RegistryValueKind.DWord);MessageBox.Show("禁用成功!!!");}catch{ }}启用注册表编辑器,通过RegistryKey类的DeleteSubKey方法删除“HKEY_CURRENT_ USERSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem”键,便可以正常使用注册表编辑器,程序代码如下:private void button1_Click(object sender, EventArgs e){try{
赞