Estoy desarrollando una aplicación C# que necesita detectar si el usuario se está ejecutando como administrador elevado. Probé el solution sugerido por Steven.No se puede detectar si un usuario se está ejecutando con privilegios elevados, cuando no hay ventanas emergentes UAC
Comprobé la solución en 5 máquinas y funciona bien en 4 de ellas.
Hay una máquina que nunca muestra el mensaje de notificación de UAC, aunque configuré el Control de cuentas de usuario en Always notify me
.
Al verificar el código en esa máquina, incluso si elijo run as administrator
, no funciona y el método IsProcessElevated
devuelve falso.
¿Hay algún problema con esa máquina específica?
¿Hay alguna manera de determinar si un usuario es elevado o no, en ese tipo de plataforma?
Verificaría que las máquinas tengan todos los paquetes de servicio más recientes, etc., y luego lo intentaré de nuevo. –
hay algunas soluciones alternativas para verificar el UAC [aquí] (http://stackoverflow.com/questions/95912/how-can-i-detect-if-my-process-is-running-uac-elevated-or-not) ¿Es posible probar uno de esos y ver si eso funciona? – Default
Me parece que hay algún problema con esa computadora, no con el código. Debería recibir indicaciones de UAC si lo configura explícitamente para solicitarlo. Tu no eres. Eso apunta a un problema con el sistema en sí. –