2013-04-13 23 views
1

我有一个小的C#应用​​程序,它在内部使用几个SCM API,例如OpenService。因此,这是我知道需要管理权限才能正常运行的应用程序。通过运行具有管理访问权限的Visual Studio,我已成功在Visual Studio 2012中调试此应用程序。这意味着由Visual Studio调试器启动的任何进程也都以提升访问权限开始。在Visual Studio 2012.2中调试具有管理访问权限的进程

安装VS 2012更新2后,这不再起作用。看起来即使你启动了具有管理权限的visual studio,调试的进程也不是以管理访问启动的。任何人有这个问题或知道解决它的方法吗?

操作系统:Windows 8中(完全更新的2012/4/13)

回答

2

我有Visual Studio旗舰2012版11.0.60315.01更新2安装和测试使用下面的控制台应用程序项目是:

`类节目 {

[DllImport("shell32.dll")] 
    public static extern bool IsUserAnAdmin(); 

    static void Main(string[] args) 
    { 
     Console.WriteLine("Elevated: " + IsUserAnAdmin()); 
     Console.ReadLine(); 
    } 
}` 

当从非提升的Visual Studio输出开始为“高架:假” 是“高架:真正的”当从高架的Visual Studio输出开始

你会得到相同的结果吗?

+0

Jarek,我得到了同样的结果。你必须在更新后有所不同。我要修改这个问题,在调试器中运行时(在一个提升的VS中),确切的API调用失败。我已经知道如果我通过右键单击EXE并以管理员身份运行,运行该应用程序。 – mfalto

相关问题