首页 新闻 搜索 专区 学院

c# 可以正常读取到注册表的值 但是不能修改?

0
悬赏园豆:100 [已解决问题] 解决于 2014-02-28 21:11

代码:

  MessageBox.Show(Registry.CurrentUser.CreateSubKey(@"SoftWare\Microsoft\Internet Explorer\Main").GetValue("Start Page", "没找到").ToString());

这个行代码可以读取当前系统的默认主页  Start Page的值  

 Registry.CurrentUser.CreateSubKey(@"SoftWare\Microsoft\Internet Explorer\Main").SetValue("Start Page","www.baidu.com");

执行到这一行的时候提示

 

程序已经添加了清单  

  <requestedExecutionLevel level="highestAvailable" uiAccess="false" />

 

环境是 win7 64 位  

问题补充:

用户是电脑白痴  ,不会管我说的!修改360浏览器快捷图标图标的属性代码?有吗?c#的 我直接修改快捷图标的“目的”属性!求一份相关的代码。

Carl --卡尔的主页 Carl --卡尔 | 初学一级 | 园豆:69
提问于:2014-02-27 22:40
< >
分享
最佳答案
0

对呀,这个提示表示没有权限或权限不足,修改这个键值貌似不需要以管理员身份运行的。你试试更新其它键值,不行了就以管理员身份试试,如果其它的能更新而这个不能更新,那就是你机子上有其它程序hook了修改注册表的函数,阻止了你对这个键值的修改。(这个键值是IE首页,比如你用了什么软件之类的锁定首页功能)

收获园豆:40
空明流光 | 初学一级 |园豆:62 | 2014-02-28 09:06
其他回答(5)
0

添加清单,以管理员身份运行即可。

改成:      <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

 

指定 requestedExecutionLevel 节点将会禁用文件和注册表虚拟化。
如果要利用文件和注册表虚拟化实现向后
兼容性,则删除 requestedExecutionLevel 节点。

收获园豆:40
winzheng | 园豆:8797 (大侠五级) | 2014-02-27 23:14
0

装360了?

garry | 园豆:495 (菜鸟二级) | 2014-02-28 09:09

是装了360了   怎么解决? 客户的360可不能卸载呀。

支持(0) 反对(0) Carl --卡尔 | 园豆:69 (初学一级) | 2014-02-28 09:10

@Carl --卡尔: 360默认是禁止修改主页的吧,找到那个选项去掉选择,把你的程序添加到360信任列表

支持(0) 反对(0) garry | 园豆:495 (菜鸟二级) | 2014-02-28 09:40

@Carl --卡尔: 装了360就告诉他不要锁定浏览器首页,要不然这个修改主页的功能失效不就行了。客户如果把你的程序加入黑名单,你什么都不用执行了。 这很正常啊。

支持(0) 反对(0) 空明流光 | 园豆:62 (初学一级) | 2014-02-28 12:19
0

1、以管理员权限运行你的程序;

2、将你的程序添加到 360 的信任列表中或将你的程序上传给 360 ,让他们将你的程序添加到他们的信任列表中;

收获园豆:10
Launcher | 园豆:45045 (高人七级) | 2014-02-28 09:13
0

是啊,你试一下楼上的:不要让360锁定浏览器首页,并将程序添加到360信任列表中,然后再以管理员身份运行程序

收获园豆:10
legendboys | 园豆:208 (菜鸟二级) | 2014-02-28 14:30
0

修改快捷方式的目标属性就达到目的了。新思路

Carl --卡尔 | 园豆:69 (初学一级) | 2014-02-28 21:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册