首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在C#中添加嵌套的注册表键/值?

在C#中添加嵌套的注册表键/值,可以使用Microsoft.Win32命名空间中的RegistryKey类和RegistryHive枚举类型。以下是一个示例代码,展示了如何在C#中添加嵌套的注册表键/值:

代码语言:csharp
复制
using Microsoft.Win32;

public static void AddNestedRegistryKeyValue(string hiveName, string keyPath, string valueName, object value)
{
    // 获取指定的注册表根键
    RegistryKey rootKey = Registry.GetView(RegistryHive.LocalMachine).OpenSubKey(hiveName, true);

    // 创建或打开注册表键
    RegistryKey registryKey = rootKey.CreateSubKey(keyPath);

    // 添加注册表值
    registryKey.SetValue(valueName, value);

    // 关闭注册表键
    registryKey.Close();
    rootKey.Close();
}

使用此方法,可以轻松地在C#中添加嵌套的注册表键/值。例如,要添加一个名为"MyApp"的键,其中包含名为"Version"的字符串值,可以调用以下方法:

代码语言:csharp
复制
AddNestedRegistryKeyValue("Software", "MyApp", "Version", "1.0.0");

这将在注册表中创建以下键和值:

代码语言:txt
复制
HKEY_LOCAL_MACHINE\Software\MyApp\Version = "1.0.0"

请注意,此方法需要管理员权限才能运行。如果在没有管理员权限的情况下运行,可能会导致异常。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

何在keras添加自己优化器(adam等)

\Anaconda3\envs\tensorflow-gpu\Lib\site-packages\tensorflow\python\keras 3、找到keras目录下optimizers.py文件并添加自己优化器...找到optimizers.pyadam等优化器类并在后面添加自己优化器类 以本文来说,我在第718行添加如下代码 @tf_export('keras.optimizers.adamsss') class...super(Adamsss, self).get_config() return dict(list(base_config.items()) + list(config.items())) 然后修改之后优化器调用类添加我自己优化器...# 传入优化器名称: 默认参数将被采用 model.compile(loss=’mean_squared_error’, optimizer=’sgd’) 以上这篇如何在keras添加自己优化器...(adam等)就是小编分享给大家全部内容了,希望能给大家一个参考。

44.9K30

【Python】字典 dict ① ( 字典定义 | 根据获取字典 | 定义嵌套字典 )

一、字典定义 Python 字典 数据容器 , 存储了 多个 键值对 ; 字典 在 大括号 {} 定义 , 之间使用 冒号 : 标识 , 键值对 之间 使用逗号 , 隔开 ; 集合..., 同样 字典 若干键值对 , 不允许重复 , 是可以重复 ; 字典定义 : 定义 字典 字面量 : {key: value, key: value, ... , key: value..., 插入了两个 Tom 为键值对 , 由于 字典 不允许重复 , 新键值对会将老键值对覆盖掉 ; 代码示例 : """ 字典 代码示例 """ # 定义 字典 字面量 {"Tom":...使用 括号 [] 获取 字典 ; 字典变量[] 代码示例 : """ 字典 代码示例 """ # 定义 字典 变量 my_dict = {"Tom": 18, "Jerry": 16, "...字典 Key 和 Value 可以是任意数据类型 ; 但是 Key 不能是 字典 , Value 可以是字典 ; Value 是 字典 数据容器 , 称为 " 字典嵌套 "

23330

SharPersist:一款渗透测试实现Windows系统常驻套件

目前已发布了多个C#工具包,Seatbelt,SharpUp和SharpView,用以攻击生命周期各个阶段任务。而在攻击生命周期中缺少C#工具包一个阶段就是持久性。...Service 创建新 Windows 服务 service Yes Yes No Registry 注册表/创建/修改 reg No Yes No Scheduled Task Backdoor...注册表持久性 SharPersist中支持注册表完整列表如下表所示。 注册表项代码 (-k) 注册表注册表 是否需要管理权限? 支持 Env 可选附加组件(-o env)?...下图中显示示例在“HKCU\Software\Microsoft\Windows\CurrentVersion\Run”注册表创建名为“Test”注册表,其为“cmd.exe/c calc.exe...我们正在删除先前创建“Test”注册表,然后我们列出了“HKCU\Software\Microsoft\Windows\CurrentVersion\Run”所有注册表,以验证其是否已被成功删除

1.8K00

一.获取Windows主机信息、注册表、U盘历史痕迹和回收站文件

注册表结构就像一颗树,树顶级节点(hive)不能添加、修改和删除,如下图所示是Windows注册表顶级节点。...在C#注册表进行操作,需要引用命名空间using Microsoft.Win32。 RegistryKey类:表示注册表顶级结点,此类是注册表封装。...Registry类:提供表示Windows注册表根项RegistryKey对象,并提供访问项/static方法。...---- (4) 删除键值操作 winreg.DeleteKey(key, sub_key) 删除指定 winreg.DeleteValue(key, value) 从注册表删除 成功删除键值...---- (5) 其他操作 winreg.EnumKey(key, index) 枚举打开注册表 winreg.EnumValue(key, index) 枚举打开注册表 winreg.OpenKey

2.4K20

三十二.Python攻防之获取Windows主机信息、注册表、U盘痕迹和回收站(1)

注册表结构就像一颗树,树顶级节点(hive)不能添加、修改和删除,如下图所示是Windows注册表顶级节点。...在C#注册表进行操作,需要引用命名空间using Microsoft.Win32。 RegistryKey类:表示注册表顶级结点,此类是注册表封装。...Registry类:提供表示Windows注册表根项RegistryKey对象,并提供访问项/static方法。...---- (4) 删除键值操作 winreg.DeleteKey(key, sub_key) 删除指定 winreg.DeleteValue(key, value) 从注册表删除 成功删除键值...---- (5) 其他操作 winreg.EnumKey(key, index) 枚举打开注册表 winreg.EnumValue(key, index) 枚举打开注册表 winreg.OpenKey

1.3K10

.NET周刊【5月第3期 2024-05-19】

包对 Windows 注册表进行操作方法,包括创建、设置、读取、删除注册表注册表操作。...这些工具支持多种语言 C#、XAML、ASP.NET 等,并且可以通过 Visual Studio 扩展商店下载。...用户只需将转换得到 Base64 字符串以 Markdown 格式添加到文本,即可在支持 Markdown 编辑器 Typora 里展示图片。...C#特性 https://www.cnblogs.com/chi8708/p/18200266 C# 特性是向代码元素添加元数据一种方法,增强了代码信息量和灵活性。...调用管道是指通过调用器(Invoker)来发送请求和接收相应响应整个过程。其中,IInvoker 接口负责发起调用,并对请求进行添加遥测字段、压缩等额外处理。

8600

何在 Windows 11 禁用锁定屏幕更新

何在 Windows 11 禁用锁定屏幕 在更新到 Windows 11 之后,在 Windows 10 下对 Windows 注册表文件进行许多调整仍然存在,但是,许多其他调整已恢复为默认设置。...这就是为什么我们必须重新审视在 Windows 11 禁用锁定屏幕所需过程。 免责声明:编辑 Windows 注册表文件是一项严肃工作。...要在 Windows 11 注册表文件中进行编辑,我们将在 Windows 11 搜索工具中键入“regedit”。从结果,选择 Regedit 应用程序,然后使用左侧窗口导航到该(图 A)。...图B 右键单击刚刚创建新 Personalization ,然后选择 New | DWORD(32 位)。输入“NoLockScreen”作为新密钥名称(图 C)。...参见:Windows 徽标键盘快捷:完整列表(TechRepublic) 如果您想将 Windows 11 锁定屏幕添加回您设置,只需再次编辑 Windows 注册表文件并将 NoLockScreen

2.2K30

Window权限维持(一):注册表运行

这种持久性技术需要创建注册表运行各种威胁因素和已知工具,Metasploit、Empire和SharPersist,都提供了这种能力,因此,成熟SOC团队将能够检测到这种恶意活动。...命令行 注册表项可以从终端添加到运行以实现持久性。这些将包含对用户登录时将执行实际负载引用,已知使用此持久性方法威胁因素和红队使用以下注册表位置。...Metasploit –作为系统持久性模块 SharPersist SharPersist是Brett Hawkins在C#开发工具,它结合了多种持久性技术,包括添加注册表运行。...SharPersist –登录脚本 PoshC2 PoshC2支持各种持久性功能,包括注册表运行方法。以下命令将在目标主机创建两个注册表项。 install-persistence ?...PoshC2 –持久性 注册表“运行”项将具有IEUpdate名称,以便看起来合法,第二个注册表项将作为墙纸隐藏在注册表。 ?

1.1K40

Win10:右键新建选项添加启用宏工作簿.xlsm

文章背景:工作生活涉及到VBA,时常要将Excel文件保存为.xlsm格式。而在右键新建可选项,一般只有.xlsx文件。下面介绍如何在右键新建选项添加启用宏工作簿.xlsm。...(1)按快捷Win + R,调出运行窗口,输入regedit,按回车,进入注册表编辑器界面。 (2) 在注册表编辑器界面,找到.xlsm所在位置。...(4)在新建shellnew文件夹上点击右键,依次选择新建、字符串,并重命名为:FileName。...(8)关闭注册表编辑器界面,回到桌面。在桌面上点击右键,选择新建,此时可以看到在可选项已经有了启用宏工作簿。...参考资料: [1] 如何在右键添加“新建启用宏工作簿.xlsm”(https://jingyan.baidu.com/article/066074d62dca1cc3c21cb099.html)

3.5K10

网页唤起Winform窗体通过非IE浏览器

1、简介 本文主要介绍非IE浏览器ActiveX控件替换方案.常用做法是通过注册表来注册URL协议来完成这个功能,像腾讯Tim等软件就是如此,如下图  所以,第一步就是通过C#写做注册表,接着通过网页访问来唤起...winform程序.根据Tim实例,通过C#写入了一个类似的注册表节点  接着通过网页访问,网页代码如下: ...%1代表appPath对应winform程序Main(string[] args)可以接收到%1传递 //%1是通过网页上给定 格式是...,信息:{ex.Message},堆栈:{ex.StackTrace}"); } } } } 代码注释可以解析出注册表节点具体结构和.... 2、实战 因为证明了注册表方案可行性,接着就是将写入注册表流程添加用户安装过程即可.这样用户就可以通过网页正常唤起winform桌面.这里参考Winform Vs Installer之添加自定义安装流程

46330

C#实现软件开机自启动原理与代码

1、软件自启动原理     软件自启动原理要从Windows注册表聊起,在Windows操作系统下,主要有2个文件夹和8个注册表项控制程序自启动,这部分详细介绍可以参看博客http://www.cnblogs.com...2、C#相关类和方法介绍     Application.ExecutablePath 属性可以获取启动应用程序可执行文件路径,包括可执行文件名称;Registry.LocalMachine 字段包含本地计算机配置数据...设置指定名称/对;RegistryKey.DeleteValue 方法 (String, Boolean)是从此项删除指定。    ...在3编程实践,对checkbox控件Checkedchanged事件进行设置,在设置开机自启动,启动软件JK信息写入“Run”键值;取消开机自启动,删除软件JK信息“Run”键值。...3、C#编程实现 private void checkBox1_CheckedChanged(object sender, EventArgs e) {

2.2K90

WMI 攻击手法研究 – 与 windows 注册表交互 (第三部分)

检查 regedit.exe 注册表后,它们排列方式似乎与文件系统类似,每个 hive 都有许多可以有多个子键,或子键用来存储注册表项由名称和组成,成一对。...这在探索注册表未知嵌套项时很有帮助。...现在已经知道如何使用 WMI 从注册表读取键值对,然而,到目前为止,这些并不需要管理权限 —— 创建、删除和更新可能需要提升权限。...1 查询注册表 KEY_SET_VALUE 2 创建、删除或设置注册表 KEY_CREATE_SUB_KEY 4 创建注册表子项 KEY_ENUMERATE_SUB_KEYS 8 枚举注册表子项...创建注册表项 现在我们知道对在 HKEY_CURRENT_USER 下运行注册表项有写访问权限,将计算器应用程序添加注册表

1.1K20

C#操作注册表全攻略

下面我们就来用.NET下托管语言C#操作注册表,主要内容包括:注册表创建,打开与删除、键值创建(设置、修改),读取和删除、判断注册表项是否存在、判断键值是否存在。...: RegistryKey key = Registry.LocalMachine; key.DeleteSubKey("software\\test",true); //该方法无返回,直接调用即可...key.Close(); 注意,如果该注册表项不存在,这调用这个方法会抛出异常 二:键值创建(设置、修改),读取和删除 1:创建(设置、修改): 对键值创建修改等操作主要用到RegistryKey...: software.SetValue("", "博客园"); // 在HKEY_LOCAL_MACHINE\SOFTWARE\test修改默认键值为“博客园”。读取类似!...本文几乎囊括了C#语言对注册表所有操作,只要认真看完此文,认真时间就肯定对注册表读取修改游刃有余了~~~读者学会了,我目的也达到了~~:) 本文所有例子在VS2008+WinXP下调试通过… 有错误和疏漏之处请指正

1.1K31

r77-Rootkit:一款功能强大Ring 3 Rootkit

r77能够在所有进程隐藏下列实体: 文件、目录、连接、命名管道、计划任务; 进程; CPU用量; 注册表&; 服务; TCP&UDP连接; 该工具兼容32位和64位版本Windows 7以及Windows...这个DACL被设置为可以给任意用户授予完整访问权。 “$77config”注册表编辑器被注入了Rootkit之后会自动隐藏。...这里,使用PowerShell.NET Framework功能从注册表加载C#可执行文件并在内存执行。...阶段二 执行C#代码为stager,它将会使用Process Hollowing技术创建r77服务进程。r77服务是一个本地可执行文件,分别以32位和64位架构继续编译。...另外,这两个进程被ID隐藏,在任务管理器不可见。 磁盘上从未存储可执行文件或DLL。stager存储在注册表,并从其资源加载r77服务可执行文件。

1.4K20

.NETC# 在 64 位进程读取 32 位进程重定向后注册表

我们知道,32 位程序在读取注册表时候,会自动将注册表路径映射到 32 位路径下,即在 Wow6432Node 子节点下。但是 64 位程序不会映射到 32 位路径下。...如何在 64 位程序读取 32 位注册表路径 前面我们例子代码是这样: 1 var value = RegistryHive.LocalMachine.Read(@"SOFTWARE\Walterlv...那么如何在 64 位进程读取 32 位注册表路径呢? 方法是在打开注册表时候,传入 RegistryView.Registry32。...1 RegistryKey.OpenBaseKey(root, RegistryView.Registry32); Walterlv.Win32 可以在我 GitHub 仓库查看完整实现。...---- 参考资料 c# - Reading the registry and Wow6432Node key - Stack Overflow 本文会经常更新,请阅读原文: https://blog.walterlv.com

26230

从Windows 10 SSH-Agent中提取SSH私钥

我在这里发布了一些PoC代码,从注册表中提取并重构RSA私钥。 在Windows 10使用OpenSSH 测试要做第一件事就是使用OpenSSH生成几个密钥对并将它们添加到ssh-agent。...正因为如此,我现在知道某种受保护数据被存储在注册表并从注册表中被读取,ssh-agent正在使用微软数据保护API.aspx)。...测试注册表 果然,在注册表,可以看到我使用ssh-add添加两个项。密钥名称是公开密钥指纹,并且存在一些二进制blobs: ? ? 我能够pull注册表并操作它们。...“注释”字段只是ASCII编码文本,是我添加密钥名称: ? (默认)只是一个字节数组,没有解码出任何有意义东西。我有一个预感,这是“加密”私钥,那么我是否能pull并解密它呢。...由于我不知道如何在Powershell解析二进制数据,所以我把所有的密钥保存到了一个JSON文件,然后我可以在Python中导入。Powershell脚本只有几行: ?

2.6K30

Windows按文件类型指定默认应用程序方法,.py文件设置默认打开程序实例演示

一个是系统设置,但是部分类型里面是没有的,这种就要通过注册表添加。...注册表内容拓展 Windows 注册表是 Windows 操作系统一个核心组成部分,用于存储和管理系统和应用程序配置信息。以下相关一些知识点: 1 ....结构: Windows 注册表由多个""( Keys )、“”( Values )和"数据"( Data )组成。...它结构类似于树形结构,由根键( HKEY_CLASSES_ROOT、HKEY_CURRENT_USER 等)和子键组成,每个可以包含多个和子键。 2 ....通过注册表编辑器,用户可以添加、修改和删除注册表项和键值,但需要谨慎操作,因为错误操作可能导致系统故障。 4 . 注册表备份和恢复: 由于注册表重要性,建议定期备份注册表以防止意外情况。

11900

.NET周刊【3月第1期 2024-03-03】

文章回顾了 Winform 自定义控件使用,展示了如何创建、添加属性和事件处理,以及动态添加控件到布局。同时介绍了当用户控件数量过多可能会引起性能问题。...如何在 C#解析 Excel 公式 https://www.cnblogs.com/powertoolsteam/p/18025530 葡萄城公司 GcExcel 是一个服务端高性能表格组件,能够解析...该组件支持动态数组公式,通过 C#(.NET Core)项目创建工作簿,提取和解析公式,进而修改公式特定参数,替换销售代表姓名。...文章还讲解了如何实现循环嵌套,以显示复杂分类和子项数据,并提供了在框架后台管理具体实现嵌套循环示例。...C#系统菜单添加自定义项 - 开源研究系列文章 https://www.cnblogs.com/lzhdim/p/18047745 这篇文章介绍了如何在 C#应用程序系统菜单添加自定义项方法,并提供了示例代码和运行效果截图

16610
领券