我的应用程序以管理员身份运行(提升),但我需要在当前用户的上下文中运行某些代码块(未提升)。
如何在未加工的上下文中运行给定的代码块?
有没有办法通过假冒来做到这一点,并不要求我知道用户的域名,姓名和密码?
是否有其他API,或者只是使用属性来实现?
同样,有没有办法检测我目前是否在高架环境中运行,以便我知道我需要首先降级?
我使用的是C#6.0,.NET 4.x(其中x> = 5)和Visual Studio 2015。
答案 0 :(得分:0)
检查您是否处于高级环境中:
static bool IsAdministrator()
{
WindowsIdentity identity = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(identity);
return principal.IsInRole (WindowsBuiltInRole.Administrator);
}
(摘自:Detect if running as Administrator with or without elevated privileges?)