VB写入本地机器注册表

时间:2015-06-12 07:22:16

标签: vb.net registry

我正在尝试使用visual basic写入Windows注册表。 我想写入HKEY_LOCAL_MACHINE但仍然拒绝访问,即使我的安装程序以管理员身份运行。

我使用的路径和代码是:

My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R19.1\ACAD-D001\Variables\SECURELOAD", "(Default)", "0")

1 个答案:

答案 0 :(得分:0)

通常有两种解决此问题的方法

  • 将应用的清单更改为包括:.c或尝试包含:requireAdministrator
  • 使用Administrative priviledges运行程序(不同于 将程序作为具有管理权限的帐户运行)

如果一切都不成熟,请尝试以下方法:"完全控制"访问仅授予TrustedInstaller组,因此授予"完全控制"也是管理员组中的用户。无论如何,你可以手动给它们,或者你可以尝试以下方法:

开始'注册'使用Sysinternals PsExec工具[psexec -si regedit]使用SYSTEM权限并导航到您希望使用程序操作的键并使用[编辑 - >权限]授予您自己的写访问权限。

这是一篇关于UAC的相当详细的文章。它不是100%的编程材料,但它提供了一个很好的解释:http://technet.microsoft.com/en-us/library/cc709691.aspx

如果您需要更多帮助,可以尝试查看此文章:http://www.codeproject.com/Articles/3881/Working-with-Windows-Registry-using-VB-NET