十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
权限不够,这类需要访问系统目录和注册表的程序要用管理员权限运行。修改项目属性里的权限(点一下那个设置项目信息按钮的旁边的按钮,出现一个XML文件,下面有注释教你怎么改)让程序启动时强制使用管理员权限,启动调试后Visual Studio会自动提示需要重启vs来让vs使用管理员运行。
创新互联是一家集网站建设,富川企业网站建设,富川品牌网站建设,网站定制,富川网站建设报价,网络营销,网络优化,富川网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
以后编写这个项目时,如果不想每次调试都重启一次vs的话,开始启动vs时就要用管理员权限运行。
点虐 2005 中My.Computer.Registry 对象的 CreateSubKey 方法可用于创建注册表项。
过程
创建注册表项
使用 CreateSubKey 方法,指定在其下放置注册表项的配置单元以及注册表项的名称。参数 Subkey 不区分大小写。此示例在 HKEY_CURRENT_USER 下创建注册表项 MyTestKey。
My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
创建注册表项并在注册表项中设置值
使用 CreateSubkey 方法,指定在其下放置注册表项的配置单元以及注册表项的名称。此示例在 HKEY_CURRENT_USER 下创建注册表项 MyTestKey。
My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
用 SetValue 方法设置值。此示例将字符串值"MyTestKeyValue" 设置为 "This is a test value"。
My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey", _
"MyTestKeyValue", "This is a test value.")
VB.NET 参考代码:
Imports Microsoft.Win32
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim regKey As RegistryKey = Registry.LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Control\Windows", False)
For Each strSubKeyName In regKey.GetValueNames()
If regKey.GetValueKind(strSubKeyName) = RegistryValueKind.String Then
MessageBox.Show(regKey.GetValue(strSubKeyName))
' regKey.SetValue(strSubKeyName, "修改后的值")
End If
Next
End Sub
End Class
首先你要把你的应用程序设定为始终获取管理员权限,也就是win7以上系统应用程序图标里有个小盾牌的样子
或者让使用者在运行时始终以管理员身份运行
然后在代码里写
if msgbox("即将修改注册表,是否继续",vbyesno) = vbyes then
修改注册表的代码
else
拒绝修改注册表的代码
end if
修改注册表的代码应该加 try catch 来防错