Wykryj, czy działa jako administrator z podwyższonymi uprawnieniami lub bez nich?

Mam aplikację, która musi wykryć, czy działa z podwyższonymi uprawnieniami, czy nie. Obecnie mam skonfigurowany kod w ten sposób:

static bool IsAdministrator()
{
    WindowsIdentity identity = WindowsIdentity.GetCurrent();
    WindowsPrincipal principal = new WindowsPrincipal(identity);
    return principal.IsInRole (WindowsBuiltInRole.Administrator);
}

Działa to w celu wykrycia, czy użytkownik jest administratorem, czy nie, ale nie działa, jeśli działa jako administrator bez uprawnień. (Na przykład w vshost.exe).

Jak mogę określić, czyelewacja jest [już dostępna lub] możliwa?

questionAnswers(9)

yourAnswerToTheQuestion