c#下注册表操作的一个小细节
先看一个有错误的代码:
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#操作windows注册表的方法
本文实例讲述了C#操作windows注册表的方法.分享给大家供大家参考.具体如下: 此代码演示了如何读取和写入注册表 读取注册表: private string GetRegistShellData(string RegistName) { try { string registData, SubregistData; RegistryKey hkml = Registry.LocalMachine; RegistryKey software = hkml.OpenSubKey(@"SOFTWA
-
使用C#在注册表中保存信息的例子
写出来,方便记忆,以后要用,可以直接改改就能用. 复制代码 代码如下: using System; namespace Backend{ public class RegistryStorage { public static PageVisibility OpenAfterStart() { Microsoft.Win32.RegistryKey registryKey; PageVisibility visi
-
C# 注册表 操作实现代码
其中第二级目录包含了五个预定义主键分别是:HKEY_CLASSES_ROOT,HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE,HKEY_USERS,HKEY_CURRENT_CONFIG. 下面我们来分别解释这5个类的作用 HKEY_CLASSES_ROOT该主键包含了文件的扩展名和应用程序的关联信息以及Window Shell和OLE用于储存注册表的信息.该主键下的子键决定了在WINDOWS中如何显示该类文件以及他们的图标,该主键是从HKEY_LCCAL_MACHIN
-
c#读写注册表示例分享
复制代码 代码如下: //写注册表RegistryKey regWrite;//往HKEY_CURRENT_USER主键里的Software子键下写一个名为"Test"的子键//如果Test子键已经存在系统会自动覆盖它regWrite = Registry.CurrentUser.CreateSubKey("Software\\Test");//往Test子键里添两条数据项,一条名为"Name",另一条名为"Sex"//值分别
-
C#通过windows注册表获取软件清单的方法
本文实例讲述了C#通过windows注册表获取软件清单的方法.分享给大家供大家参考.具体如下: foreach (string SoftwareName in Object.SoftwareList()) { textBox.Text += SoftwareName + Environment.NewLine; } //////////////////////////////////////////////////////////////////////// /// <summary> ///
-
C#操作注册表的方法
using Microsoft.Win32 ; 1.读取指定名称的注册表的值 复制代码 代码如下: private string GetRegistData(string name) { string registData; RegistryKey hkml = Registry.LocalMachine; RegistryKey software = hkml.OpenSubKey("SOFTWARE",true); RegistryKey aimdir = software.Ope
-
C#实现读取注册表监控当前操作系统已安装软件变化的方法
本文实例讲述了C#实现读取注册表监控当前操作系统已安装软件变化的方法.分享给大家供大家参考.具体实现方法如下: private static HybridDictionary GetSoftName() { string strSoftName = string.Empty; HybridDictionary hdSoftName = new HybridDictionary(); /*对注册表节点"Software/Microsoft/Windows/CurrentVersion/Uninst
-
c#注册表操作类分享
复制代码 代码如下: /// <summary>/// 注册表基项静态域/// /// 主要包括:/// 1.Registry.ClassesRoot 对应于HKEY_CLASSES_ROOT主键/// 2.Registry.CurrentUser 对应于HKEY_CURRENT_USER主键/// 3.Registry.LocalMachine 对应于 HKEY_LOCAL_MACHINE主键/// 4.Registry.User 对应于 HKEY_USER主键/// 5.Registry.
-
C# 多线程读取注册表,加载至TreeView
复制代码 代码如下: using System; using System.Drawing; using System.Windows.Forms; using System.Threading; using Microsoft.Win32; namespace 星空个性化助手 { public partial class Form1 : Form { private delegate void LoadTreeView左侧( TreeNode node );//声明委托类型 public Fo
-
C#读写注册表的思路及代码
NET框架在Microsoft.Win32名字空间中提供了两个类来操作注册表:Registry和RegistryKey.这两个类都是密封类不允许被继承.下面我们分别来介绍这两个类.Registry类提供了7个公共的静态域,分别代表7个基本主键(其中两个在XP系统中没有)分别是: Registry.ClassesRoot 对应于HKEY_CLASSES_ROOT主键 Registry.CurrentUser 对应于HKEY_CURRENT_USER主键 Registry.LocalMachine
随机推荐
- Asp.net mvc验证用户登录之Forms实现详解
- JavaScript比较两个对象是否相等的方法
- 简单的js表单验证函数
- 网页禁用右键实现代码(JavaScript代码)
- JavaScript 颜色梯度和渐变效果第1/3页
- javascript制作的cookie封装及使用指南
- nodejs 后缀名判断限制代码
- Node.js中使用jQuery的做法
- SSH框架网上商城项目第3战之使用EasyUI搭建后台页面框架
- 分页存储过程(二)在sqlserver中返回更加准确的分页结果
- 基于JavaScript实现全选、不选和反选效果
- Linux下启动tomcat的方法
- 在RedHat9下安装Chinput中文输入法
- javascript阻止scroll事件多次执行的思路及实现
- C++动态内存分配(new/new[]和delete/delete[])详解
- android中图片的三级缓存cache策略(内存/文件/网络)
- 解析在Android中为TextView增加自定义HTML标签的实现方法
- JavaScript(js)设置默认输入焦点(focus)
- C# Dynamic之:ExpandoObject,DynamicObject,DynamicMetaOb的应用(上)
- thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法