C#进行注册表项和键值操作
前言
相信大家在安装西门子PLC软件的时候,都遇到过要手动删除注册表的情况。
注册表对于软件开发来说,可以用于存储一些关键信息,这样一般是不会被删除的,所以可以用它来做授权相关,,今天跟大家分享一下关于C#操作注册表的使用。
注册表
系统注册表里包含了大量的系统和软件安装信息,所以如果想要对注册表进行操作,必须要先了解它,否则,可能会导致一些意想不到的问题,那就得不偿失了。
1、我们可以通过CMD,输入Regedit,打开注册表。
2、注册表有几个关键节点,也叫根分支,分别是:HKEY_CLASSES_ROOT、HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE、HKEY_USERS、HKEY_CURRENT_CONFIG,每个节点用于存储不同的信息。
3、展开之后,每个文件夹图标表示的是注册表项。
4、每个注册表项对应的数据,叫做键值对。
C#操作注册表项
C#操作注册表,首先需要引用命名空间Microsoft.Win32,然后通过操作该命名空间下的RegistryKey对象。
1、使用C#打开注册表项:打开注册表里的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
OpenSubKey方法后面还有一个bool类型的值true,这个代表可写入操作。
2、使用C#创建注册表项:在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion下创建一个名字叫Thinger的项。
3、使用C#删除注册表项:删除注册表中的SOFTWARE\Microsoft\Windows NT\CurrentVersion\Thinger项。
C#操作注册表键值
不管是创建、获取、删除键值,首先都需要打开要创建或设置键值对应的注册表项
1、创建注册表键值:在上面的注册表项中,增加一个键值,键名为"Thinger",值为"www.dotnetswj.com"。
SetValue()方法有三个参数,SetValue(键名,键值,键值类型),键值类型有字符串,二进制,Dword等,不设置键值类型时默认为字符串类型。如果注册表中已存在该键值,执行操作后,会覆盖该键值。
2、获取注册表键值:获取Thinger对应的值。
3、删除注册表键值:删除Thinger对应的键值。
注册删除键值前要保证删除的键值名称须存在,否则抛出异常。
最后注意,每次使用完成后,要把使用的RegistryKey对象关闭掉。
应用
最后做个应用,写个程序自动删除西门子的那个注册表,这样就不需要每次去注册表里删除了。
首先要打开注册表项,再删除注册表键值。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构