C# 操作Windows注册表的实现方法

目录
  • 代码示例
    • 示例一:禁用 Windows 7 系统自动更新
    • 示例二:禁用 Windows 10 提醒
  • 常见问题

本文将给出操作注册表的C#代码以及开发中遇到的问题。

代码示例

通过RegistryKey类的OpenBaseKey方法获取注册表根节点。

public static RegistryKey OpenBaseKey(RegistryHive hKey, RegistryView view)

示例一:禁用 Windows 7 系统自动更新

// win7自动更新设置的注册表路径
string path = @"SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate";

// 获取注册表中win7自动更新设置的节点(32位系统改为 RegistryView.Registry32)
using (var rklm = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64))
{
	using (var rkUpdate = rklm.OpenSubKey(path, true))
	{
		// 添加值(禁止为1,允许为0)
		rkUpdate.SetValue("DisableOSUpgrade", 1, RegistryValueKind.DWord);
	}
}

示例二:禁用 Windows 10 提醒

// win10提醒设置的注册表路径
string path = @"SOFTWARE\Policies\Microsoft\Windows\Gwx";

// 获取注册表中win10提醒设置的节点(32位系统改为 RegistryView.Registry32)
using (var rklm = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64))
{
	using (var rkNotify = rklm.OpenSubKey(path, true))
	{
		// 添加值(禁止为1,允许为0)
		rkNotify.SetValue("DisableGwx", 1, RegistryValueKind.DWord);
	}
}

常见问题

问题描述:无法通过OpenSubKey方法获取到注册表节点(通过路径获取到的值为null)。
解决方法:请检查操作系统是32位还是64位,使用OpenBaseKey方法要根据操作系统版本传入对应参数

  • RegistryView.Registry32
  • RegistryView.Registry64

到此这篇关于C# 操作Windows注册表的实现方法的文章就介绍到这了,更多相关C# 操作Windows注册表内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C#操作windows注册表的方法

    本文实例讲述了C#操作windows注册表的方法.分享给大家供大家参考.具体如下: 此代码演示了如何读取和写入注册表 读取注册表: private string GetRegistShellData(string RegistName) { try { string registData, SubregistData; RegistryKey hkml = Registry.LocalMachine; RegistryKey software = hkml.OpenSubKey(@"SOFTWA

  • C#通过windows注册表获取软件清单的方法

    本文实例讲述了C#通过windows注册表获取软件清单的方法.分享给大家供大家参考.具体如下: foreach (string SoftwareName in Object.SoftwareList()) { textBox.Text += SoftwareName + Environment.NewLine; } //////////////////////////////////////////////////////////////////////// /// <summary> ///

  • C# 操作Windows注册表的实现方法

    目录 代码示例 示例一:禁用 Windows 7 系统自动更新 示例二:禁用 Windows 10 提醒 常见问题 本文将给出操作注册表的C#代码以及开发中遇到的问题. 代码示例 通过RegistryKey类的OpenBaseKey方法获取注册表根节点. public static RegistryKey OpenBaseKey(RegistryHive hKey, RegistryView view) 示例一:禁用 Windows 7 系统自动更新 // win7自动更新设置的注册表路径 st

  • Node.JS更改Windows注册表Regedit的方法小结

    注册表是windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着windows的启动.硬件驱动程序的装载以及一些windows应用程序的运行,从而在整个系统中起着核心作用.这些作用包括了软.硬件的相关配置和状态信息,比如注册表中保存有应用程序和资源管理器外壳的初始条件.首选项和卸载数据等,联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述.状态和属性,性能记录和其他底层的系统状态信息,以及其他数据等. 这里介绍一些通过node.js操作注册表的几种方

  • 操作Windows注册表的简单的Python程序制作教程

    通过Python操作注册表有两种方式,第一种是通过Python的内置模块 _winreg:另一种方式就是Win32 Extension For Python 的win32api模块,但是需要进行额外的安装.这里主要给出一些_winreg和win32api的Demo代码. 1. _winrg 可以参考官方的参考文档: http://docs.python.org/library/_winreg.html http://www.python.org/doc/2.6.2/library/_winreg

  • Python实现操纵控制windows注册表的方法分析

    本文实例讲述了Python实现操纵控制windows注册表的方法.分享给大家供大家参考,具体如下: 使用_winreg模块的话 基本概念: KEY 键 Value 值 函数和作用: CloseKey() - 关闭一个Key ConnectRegistry() - 链接到其他机器的注册表 CreateKey() - 创建一个Key DeleteKey() - 删除一个Key DeleteValue() - 删除一个Key里面的值(value) EnumKey() - 为已经打开的Key里面的子键建

  • 阻止对Windows注册表的远程访问

    按照本文中所提及的方式保护Windows注册表,能够防止攻击者远程攻击它. 问题 注册表是Windows操作系统的核心.但是在缺省情况下,所有基于Windows的计算机的注册表在网络上都是可以被访问到.了解这一点的黑客完全可以利用这个安全漏洞来对你的公司的计算机系统进行攻击,并修改文件关系,并允许插入恶意代码.为了保护你的网络,你需要禁止对注册表的远程访问. 解决方案 你轻而易举地可以通过修改网络访问清单来达到这一目标.根据你网络的复杂程度,你可能需要考虑禁止对注册表的远程访问. 注意 编辑注册

  • 修改及备份注册表的基本方法

    Windows 95利用注册表来管理所有的硬件和软件设置.注册表(Registry)提供了一个统一的数据库,并以分层的形式存储系统和应用程序配置数据.每次启动计算机时都会形成注册表,它的内容是由即插即用事件.机器的设置文件(System.dat)和用户信息(User.dat)以及在某种情况下由网络文件服务器施加的系统策略所组成,是一个存储着计算机配置信息的数据库文件, 它取代了原系统所有组件和应用程序之INI文件的使用,实为Windows 95系统的一个管理信息数据库,目前Windows 95所

  • Navicat Premium 15无限试用注册表修改的方法详解

    最近看上了Navicat Premium 15对PostgreSQL的支持,老版本的会有找不到oid字段报错,网上栖息的一些和谐版本是通过暴力修改二进制文件中的密钥来完成的,把可执行文件的数字签名也给破坏了,若遇到别有用心的捆绑个后门也不是不可以,运行着没有底气,于是寻找突破14天试用的办法. 网上有12版本的删注册表方法,显得有些暴力,本文在这些方法的基础上缩小了删除的范围,避免伤及无辜. 首先把HKEY_CURRENT_USER\Software\Classes\CLSID和HKEY_CUR

  • python读取Windows注册表的示例代码

    运行结果 代码 import winreg def read_reg(): location = r"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders" # 获取注册表该位置的所有键值 key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, location) print("\n" + "-"*100 + "\

随机推荐