tutorial - windows forms c# visual studio 2017
C#Comprobar si se ejecuta como administrador (1)
Posible duplicado:
Verifica si el usuario actual es administrador
Necesito probar si la aplicación (escrita en C #, ejecutando os Windows XP / Vista / 7) se está ejecutando como administrador (como en el botón derecho del ratón .exe -> Ejecutar como administrador, o Ejecutar como administrador en la pestaña Compability en Propiedades) .
Busqué en Google y busqué StackOverflow pero no encuentro una solución funcional.
Mi último intento fue este:
if ((new WindowsPrincipal(WindowsIdentity.GetCurrent()))
.IsInRole(WindowsBuiltInRole.Administrator))
{
...
}
Prueba esto
public static bool IsAdministrator()
{
var identity = WindowsIdentity.GetCurrent();
var principal = new WindowsPrincipal(identity);
return principal.IsInRole(WindowsBuiltInRole.Administrator);
}
Esto se ve funcionalmente igual que tu código, pero lo anterior funciona para mí ...
haciéndolo funcionalmente, (sin variables temporales innecesarias) ...
public static bool IsAdministrator()
{
return (new WindowsPrincipal(WindowsIdentity.GetCurrent()))
.IsInRole(WindowsBuiltInRole.Administrator);
}
o, usando la propiedad del cuerpo de expresión:
public static bool IsAdministrator =>
new WindowsPrincipal(WindowsIdentity.GetCurrent()))
.IsInRole(WindowsBuiltInRole.Administrator);