c#下注册表操作的一个小细节
c# 操作 一个 细节 注册表
2023-06-13 09:13:58 时间
先看一个有错误的代码:
string subKeyName = @"Software\Microsoft\Windows\CurrentVersion\Run\"; //subkey name
string valueName = @"App Name"; //name of the more specific key that will hold the value, "" means (Default)
try
...{
RegistryKey reg = Registry.LocalMachine.OpenSubKey(subKeyName);
if (reg != null)
...{
reg.DeleteValue(valueName);
reg.Close();
}
}
catch (Exception ex)
...{
MessageBox.Show(this, ex.ToString());
}
执行这段代码,你可以会收到以下异常:
System.UnauthorizedAccessException
原因很简单:
RegistryKey.OpenSubKey (String) 以只读方式检索子项
public RegistryKey OpenSubKey ( string name, bool writable)writable如果需要项的写访问权限,则设置为 true。
我们需要带第二个参数,标示我们是可写方式打开的。
string subKeyName = @"Software\Microsoft\Windows\CurrentVersion\Run\"; //subkey name
string valueName = @"App Name"; //name of the more specific key that will hold the value, "" means (Default)
try
...{
RegistryKey reg = Registry.LocalMachine.OpenSubKey(subKeyName);
if (reg != null)
...{
reg.DeleteValue(valueName);
reg.Close();
}
}
catch (Exception ex)
...{
MessageBox.Show(this, ex.ToString());
}
执行这段代码,你可以会收到以下异常:
System.UnauthorizedAccessException
原因很简单:
RegistryKey.OpenSubKey (String) 以只读方式检索子项
public RegistryKey OpenSubKey ( string name, bool writable)writable如果需要项的写访问权限,则设置为 true。
我们需要带第二个参数,标示我们是可写方式打开的。
相关文章
- C# 将XmlDocument转化为string函数
- C#操作XML方法集合
- C# combox加入时间段 yyyy/mm/dd-yyyy/mm/dd
- dotnet C# 使用 Vortice 支持 Direct2D1 离屏渲染
- c#操作mongodb插入数据效率
- C#应用Newtonsoft.Json操作json详解编程语言
- 深入浅出C连接MySQL进行SDR(c# mysql sdr)
- C#中一些字符串操作的常用用法
- ASP.net验证码实现代码(C#)
- 比较简单的将数据信息导入wrod文档方案(C#forword)
- c#代理模式
- c#生成缩略图的实现方法
- C#骑士飞行棋的源码(分享)
- C#操作config文件的具体方法
- C#中Convert.ToInt32()和int.Parse()的区别介绍
- C#实现登录窗口(不用隐藏)
- 可替代log4j日志的c#简单日志类队列实现类代码分享
- c#DateTime常用操作实例(datetime计算时间差)
- c#通过ip获取地理信息
- C#字符串的常用操作工具类代码分享
- c#图片处理之图片裁剪成不规则图形
- C#数据库操作类AccessHelper实例
- Java,C#使用二进制序列化、反序列化操作数据
- c#+JQurey实现获取radio和checkbox的值
- C#中的程序集和反射介绍
- C#的File类实现文件操作实例详解
- C#实现将PPT转换成HTML的方法
- C#策略模式(StrategyPattern)实例教程