在Windows 7下调试需要管理员权限的程序

bri*_*ian 16 debugging visual-studio-2008 visual-studio windows-7

我在Windows 7 64位上运行Visual Studio 2008.我以管理员身份登录,并且我以管理员身份运行它,但是当我调用受限制的API时,我正在处理的程序因访问被拒绝而失败.如果使用"以管理员身份运行"从资源管理器运行程序,则可以运行

我相信Visual Studio 2008使用Visual Studio 2008本身运行的任何权限来调试程序.由于这个原因,我无法调试我的应用程序,而且我不知道发生了什么.

blu*_*ish 14

这适用于Visual Studio 2012.

  • 创建清单文件:右键单击项目并选择"添加新项",选择"应用程序清单文件".这将向项目添加名为app.manifest的文件.
  • 编辑清单文件:设置属性level的标签requestedExecutionLevelrequireAdministrator.

现在,您的程序将始终需要管理员权限,无论它在何处执行.如果由Visual Studio调试器启动,它将提示您以管理员身份重新启动Visual Studio(如果需要).


Aoi*_*asu 8

最好以管理员身份运行Visual Studio 2008.此外,最好将应用程序的清单设置更改为需要管理员权限.每次启动应用程序时系统都会提示您升级到系统管理员,并且在Visual Studio 2008下运行时,IDE将在开始调试之前为您提供高程.

要更改设置,请打开项目属性,然后转至配置属性链接器清单文件UAC执行级别.


bri*_*ian 7

我找到了答案.事实证明,它实际上是一个明显的问题:默认情况下,如果您有清单,则需要设置适当的管理员权限.

默认值为asInvoker,但如果您需要提升权限,则无效; 您必须将其设置requireAdministrator为清单属性.