У меня есть приложение, которое должно определить, работает ли оно с повышенными привилегиями или нет. В настоящее время у меня есть код, подобный этому:
static bool IsAdministrator()
{
WindowsIdentity identity = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(identity);
return principal.IsInRole (WindowsBuiltInRole.Administrator);
}
Это работает, чтобы определить, является ли пользователь администратором или нет, но не работает, если он работает как администратор без повышения. (Например, в vshost.exe).
Как я могу определить, возможно ли повышение [уже в силе или] возможно?