[C#] Registrykey 登录机码的新增、修改、删除、读取

原文:[C#] Registrykey 登录机码的新增、修改、删除、读取

写 Windows 应用程式时,常常会将一些参数存至机码里面,今天来简单的笔记一下 Registry 的 CRUD。

在 64-bits 的作业系统下执行 32-bits 或 64-bits 应用程式时,预设写入 Registry 会被作业系统写入 Wow6432Node 的目录底下。在 HKEY_LOCAL_MACHINE\SOFTWARE\ 底下写入机码,就会出现在 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\,其目的是为了区分 32-bits 与 64-bits 作业系统的对应而产生的结果,只有真正的 64-bits 应用程式才能写在 HKEY_LOCAL_MACHINE\SOFTWARE\ 目录。

新增、修改:

RegistryKey registryKey = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\RegistryKeyTest");registryKey.SetValue("Path", "C:\\");

若新增对象不存在则会新增

读取:

RegistryKey registryKey = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\RegistryKeyTest");string value = registryKey.GetValue("Path")?.ToString();

删除:

RegistryKey registryKey = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\RegistryKeyTest");registryKey.DeleteValue("Path");

若删除对象不存在则会抛 Exception.

删除 Registry Key 及其底下所有内容:

Registry.LocalMachine.DeleteSubKeyTree(@"SOFTWARE\RegistryKeyTest");

若删除对象不存在则会抛 Exception.

若要想自己指定写入位置可以使用下面的方法来达成

var registry64 = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);var registryKeyTest = registry64.CreateSubKey(@"SOFTWARE\RegistryKeyTest");registryKeyTest.SetValue("Path", "C:\\aaa");

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章