我正在开发一个需要将一些设置保存到注册表的应用程序。当我尝试使用权限打开密钥时出现错误RegCreateKeyEx
5 KEY_WRITE
。我使用这种方法,以便在密钥不存在时创建密钥。但是,当我从 Debug 文件夹中手动使用“以管理员身份运行”运行相同的程序时,它工作正常。
通过 Visual Studio 调试应用程序时,有没有办法以管理员身份运行应用程序?我正在使用 Visual Studio 2012。
我正在开发一个需要将一些设置保存到注册表的应用程序。当我尝试使用权限打开密钥时出现错误RegCreateKeyEx
5 KEY_WRITE
。我使用这种方法,以便在密钥不存在时创建密钥。但是,当我从 Debug 文件夹中手动使用“以管理员身份运行”运行相同的程序时,它工作正常。
通过 Visual Studio 调试应用程序时,有没有办法以管理员身份运行应用程序?我正在使用 Visual Studio 2012。
您需要运行提升的 Visual Studio(即具有管理员权限)。如果你这样做,那么默认情况下,它启动的任何带有调试器的进程也将运行提升。
(出于明显的安全原因,必须提升Visual Studio才能附加到提升的进程。)
您可以使用一个完整的讨厌的“清单”系统来确保您的程序始终以管理员身份启动(基本上,确保您得到那个烦人的弹出窗口)。这是另一个可怕的 MS 流产,但这是我所知道的一种方法,可以确保您的程序始终以所需的权限运行,即使它正在被调试或在已发布的其他程序中调用时也是如此产品。
只需搜索“微软应用程序清单”或“为 Windows 程序创建应用程序清单”。另请参阅此答案。