首页 > 电脑专区 > windows >

C#操作注册表之禁用和启动注册表

来源:互联网 2023-02-20 17:07:57 348

注册表是windows系统中一个很重要的组成模块,在Windows中扮演着非常重要的角色;无论是电脑启动,硬件信息还是以些软件都用注册表来控制;那么我们改怎么操作注册表呢?今天我就带大家来了解了解注册表已经用Csharp程序来控制注册表,完成禁用和启用注册表的功能。P6s办公区 - 实用经验教程分享!

工具/原料

  • 电脑,Csharp程序编译器

方法/步骤

  • 1

    首先我们来看看不用程序如何打开注册表,来看看注册表到底长什么样子的?P6s办公区 - 实用经验教程分享!

    打开注册表可以通过 打开运行(Windows徽标键 R),输入regedit进入注册表;我们可以看到注册表是由主键、子键、变量、值构成的一个庞大的数据集P6s办公区 - 实用经验教程分享!

    C#操作注册表之禁用和启动注册表P6s办公区 - 实用经验教程分享!

    C#操作注册表之禁用和启动注册表P6s办公区 - 实用经验教程分享!

  • 2

    我们要禁用注册表,需要找到注册表中关于禁止操作注册表的变量以及对于的值.根:HKEY_CURRENT_USER,路径:SoftwareMicrosoftWindowsCurrentVersionPoliciesSystem,键:DisableRegistryTools,值:1(禁用)、0(启用);P6s办公区 - 实用经验教程分享!

    C#操作注册表之禁用和启动注册表P6s办公区 - 实用经验教程分享!

  • 3

    我们可以通过直接在注册表中修改值来达到禁用注册表的效果,现在我们来实现禁用注册的功能,直接在注册表上修改DisableRegistryTools值为1;P6s办公区 - 实用经验教程分享!

    C#操作注册表之禁用和启动注册表P6s办公区 - 实用经验教程分享!

  • 4

    修改好了后我们在从运行中打开注册表试试。看看现在会是什么情况?会发现运行下输入regedit之后弹出一个警告对话框P6s办公区 - 实用经验教程分享!

    C#操作注册表之禁用和启动注册表P6s办公区 - 实用经验教程分享!

  • 5

    是不是手动完成了注册表禁用的功能呢,启动的话只需将DisableRegistryTools值改为0就可以了;现在我们来看看通过C#来设计注册表的禁用,程序图如下P6s办公区 - 实用经验教程分享!

    C#操作注册表之禁用和启动注册表P6s办公区 - 实用经验教程分享!

  • 6

    创建一个window窗体应用的项目,添加连个按钮分别为btnBanRegedit(text为禁用注册表)、btnRunRegedit(text为启动注册表),P6s办公区 - 实用经验教程分享!

    下面就来看看显示信息的lable值代码为:P6s办公区 - 实用经验教程分享!

    label1.Text = "根:HKEY_CURRENT_USERrn"P6s办公区 - 实用经验教程分享!

    @"禁用启用注册表路径:SoftwareMicrosoftWindowsCurrentVersionPP6s办公区 - 实用经验教程分享!

    oliciesSystem" P6s办公区 - 实用经验教程分享!

    "rn" "键值:DisableRegistryTools; 1禁用 0启用";P6s办公区 - 实用经验教程分享!

    C#操作注册表之禁用和启动注册表P6s办公区 - 实用经验教程分享!

  • 7

    启动注册表的实现,添加按钮btnRunRegedit的单击事件P6s办公区 - 实用经验教程分享!

    P6s办公区 - 实用经验教程分享!

    private void btnRunRegedit_Click(object sender, EventArgs e) P6s办公区 - 实用经验教程分享!

    { P6s办公区 - 实用经验教程分享!

    try P6s办公区 - 实用经验教程分享!

    { P6s办公区 - 实用经验教程分享!

    Microsoft.Win32.RegistryKey rk =P6s办公区 - 实用经验教程分享!

    Microsoft.Win32.Registry.CurrentUser.CreateSubKey( P6s办公区 - 实用经验教程分享!

    @"SoftwareMicrosoftWindowsCurrentVersionPoliciesSystem "); P6s办公区 - 实用经验教程分享!

    rk.SetValue("DisableRegistryTools", 0, Microsoft.Win32.Registry ValueKind.DWord);P6s办公区 - 实用经验教程分享!

    MessageBox.Show("启用用注册表成功"); P6s办公区 - 实用经验教程分享!

    } P6s办公区 - 实用经验教程分享!

    catch (Exception ex) { MessageBox.Show(ex.Message); }P6s办公区 - 实用经验教程分享!

    }P6s办公区 - 实用经验教程分享!

    C#操作注册表之禁用和启动注册表P6s办公区 - 实用经验教程分享!

  • 8

    禁用注册表的实现,添加按钮btnBanRegedit的单击事件:P6s办公区 - 实用经验教程分享!

    P6s办公区 - 实用经验教程分享!

    private void btnBanRegedit_Click(object sender, EventArgs e)P6s办公区 - 实用经验教程分享!

    {P6s办公区 - 实用经验教程分享!

    try P6s办公区 - 实用经验教程分享!

    { P6s办公区 - 实用经验教程分享!

    Microsoft.Win32.RegistryKey rk = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(@"SoftwareMicrosoftWindowsCurrentVersionPoliciesSystem");P6s办公区 - 实用经验教程分享!

    rk.SetValue("DisableRegistryTools", 1, Microsoft.Win32.RegistryValueKind.DWord); P6s办公区 - 实用经验教程分享!

    MessageBox.Show("禁用注册表成功"); P6s办公区 - 实用经验教程分享!

    } P6s办公区 - 实用经验教程分享!

    catch (Exception ex) { MessageBox.Show(ex.Message); } P6s办公区 - 实用经验教程分享!

    }P6s办公区 - 实用经验教程分享!

    C#操作注册表之禁用和启动注册表P6s办公区 - 实用经验教程分享!

  • 9

    基本代码设计完成,现在就来测试程序功能;当单击启用注册表会弹出启用注册表成功,现在我们在用前面的方法打开注册表试试,是不是发现又能打开注册表了呢P6s办公区 - 实用经验教程分享!

    C#操作注册表之禁用和启动注册表P6s办公区 - 实用经验教程分享!

    C#操作注册表之禁用和启动注册表P6s办公区 - 实用经验教程分享!

  • 10

    可以启动了注册表,现在来试试通过程序来禁用注册表的功能,单击启动会弹出禁用注册表成功;P6s办公区 - 实用经验教程分享!

    C#操作注册表之禁用和启动注册表P6s办公区 - 实用经验教程分享!

  • 10本页面未经许可获取自百度经验
  • 11

    在按照前面的方法发现无法打开注册表了,提示“注册表编辑以被管理员禁用”;是不是现在手动和程序都能控制了呢;有没有感觉很神奇呢,能帮到你请帮我投票哦P6s办公区 - 实用经验教程分享!

    C#操作注册表之禁用和启动注册表P6s办公区 - 实用经验教程分享!

  • 注意事项

    • 操作注册表需谨慎,最好提前备份

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!P6s办公区 - 实用经验教程分享!


    标签: 操作系统注册操作启动

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码