c#下注册表操作的一个小细节
程序员文章站
2022-06-21 08:05:57
先看一个有错误的代码: 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。
我们需要带第二个参数,标示我们是可写方式打开的。
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。
我们需要带第二个参数,标示我们是可写方式打开的。
上一篇: 如何合理设置关键词密度
下一篇: Java判断闰年的2种方法示例