欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c#下注册表操作的一个小细节

程序员文章站 2023-11-14 14:05:22
先看一个有错误的代码: string subkeyname = @"software\microsoft\windows\currentver...
先看一个有错误的代码:

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。 
我们需要带第二个参数,标示我们是可写方式打开的。