using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Microsoft.Win32;namespace WebApplication1
{
public partial class WebForm3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ } protected void Button1_Click(object sender, EventArgs e)
{
RegistryKey reg = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Internet Explorer", true);
Response.Write(reg.CreateSubKey("test"));
}
}
}
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Microsoft.Win32;namespace WebApplication1
{
public partial class WebForm3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ } protected void Button1_Click(object sender, EventArgs e)
{
RegistryKey reg = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Internet Explorer", true);
Response.Write(reg.CreateSubKey("test"));
}
}
}
解决方案 »
- 如何将另存为的网页导入到vs2008里面编辑
- 求兼容15位和18位身份证精确验证正则表达式
- 要在网页中插入视频应该怎么做?
- 在任何网站只要插入一段代码就可以获取这个网站的一些信息。无论这个网站是静态的还是动态的,谁能说下原理
- 关于网页背景图问题,高手进,在线等
- 用asp.net搞wap的给我一些指点!
- 请真正的高手帮忙:关于缓存DataSet失败的问题
- 请问用ASP.NET 2.0 开发的网站如何部署到服务器去啊?
- 斑竹帮忙!!!打包程序时出错!谢谢!
- 如何在web控件上写JavaScript函数?
- 声卡驱动安装问题(在计算机技术版块发了,没人理,只能在这里发了!)
- form验证基于角色验证不成功
Microsoft.Win32.RegistryKey 的成员摘要:
检索指定的子项。 参数:
name: 要打开的子项的名称或路径。
writable: 如果需要项的写访问权限,则设置为真。 返回值:
请求的子项;如果操作失败,则为空。 异常:
System.ArgumentNullException: name 为空。
System.ArgumentException: 指定子项的长度大于允许的最大长度(255 个字符)。
System.ObjectDisposedException: 要删除的 RegistryKey 已关闭(无法访问关闭的项)。
System.Security.SecurityException: 用户没有 RegistryPermission.SetInclude(delete, currentKey) 访问权限。
只有这个方法,最后的参数是Bool值的.
要不你再把open换成create试试。
RegistryKey reg = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Internet Explorer\test");Response.Write(reg); 这么写试试
reg.CreateSubKey("name").SetValue("key", "value");reg.Name :
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\testreg.ToString() :
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\test [0xe98]
在vs2005中 reg.Name=reg.ToString()=HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\testRegistryKey reg = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Internet Explorer\test");
reg.CreateSubKey("name").SetValue("key", "value");这两行代码在vs2003与vs2005中效果一样需要注意几个地方 Registry 下面有7个枚举值 分别为:
ClassesRoot,CurrentConfig,CurrentUser,DynData,LocalMachine,PerformanceData,Users
其中DynData与PerformanceData 不能编程访问LocalMachine与Users 也需要注意一下RegistryKey reg = Registry.Users.CreateSubKey(@"SoftwareTemp\***\***\test");
reg.CreateSubKey("name").SetValue("key", "value");RegistryKey reg = Registry.LocalMachine.CreateSubKey(@"SoftwareTemp\***\***\test");
reg.CreateSubKey("name").SetValue("key", "value");以上会出错 因为LocalMachine与Users 在创立的新目录或新键时,下属第一级目录必须存在 RegistryKey reg = Registry.Users.CreateSubKey(@".DEFAULT\***\***\test");
reg.CreateSubKey("name").SetValue("key", "value");RegistryKey reg = Registry.LocalMachine.CreateSubKey(@"HARDWARE\***\***\test");
reg.CreateSubKey("name").SetValue("key", "value");这样就不会出错,二级目录没有要求,可以新建ClassesRoot,CurrentConfig,CurrentUser 没有限制一级目录也可以新建
reg.CreateSubKey("name").SetValue("key", "value");reg.Name :
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\test这个的确可以打印出路径的名,但是你用regedit看,它的键值建立在HKEY_USERS\S-1-5-21-790525478-329068152-682003330-1007\Software\Microsoft\Internet Explorer\test
下面的.
S-1-5-21-790525478-329068152-682003330-1007 这个串可能每台机都不同,但是大概的位置也可以找到的.
reg.CreateSubKey("name").SetValue("key", "value");
这两行代码在我机器上确是 在HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\test 上也就是reg.Name 所显示的位置
reg.Name :
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\test vs2003 与vs2005一样
regK.CreateSubKey("a"); 这样没有任何问题啊..
有一个问题,在 @"Software\Microsoft\Internet Explorer", 中 这是一个注册表路径字符串,不能有空格,你再试试,Internet Explorer 中间只能有一个空格.我把楼主的代码copy到项目时,报的这个错,没有设置到对象的实例.楼主再试试..
HKEY_USERS\S-1-5-21-790525478-329068152-682003330-1007
这个下面了,不知道是怎样的问题.
还有一个说明就是:WebForm写的,应该和WinForm差不多吧.不会有这样的差别吧.
还下了一个IIS6.0的安装包,可复制文件的时候出错,忽略也没装上.
最近在家养病,如果没辞职 用公司电脑应该能帮你解决. -_- ~
说明: 应用程序试图执行安全策略不允许的操作。要授予此应用程序所需的权限,请与系统管理员联系,或在配置文件中更改该应用程序的信任级别。 异常详细信息: System.Security.SecurityException: 不允许所请求的注册表访问权。源错误:
行 4: protected void Button1_Click(object sender, EventArgs e)
行 5: {
行 6: RegistryKey reg=Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Internet Explorer", true);
行 7: Response.Write(reg.CreateSubKey("test"));
行 8: }
[color=#FF0000]版本信息: Microsoft .NET Framework 版本:1.1.4322.2379; ASP.NET 版本:1.1.4322.2379
[/color]
如果是fat32文件系统应该没有权限的问题
如果是ntfs的话,你可以考虑把network service的读写权限加在系统盘试试,并且替换子权限.这样安全隐患就非常大了.