Necesito determinar si mi programa se está ejecutando con todos los derechos de administrador. Con esto quiero decir si uac está activado (para win vista/7) que necesito determinar si el programa tiene realmente derechos de administrador (como si el usuario hiciera clic derecho y seleccionara "ejecutar como administrador") y no limitado por uac. ¿Cómo hago esto en C++?Detectar si el programa se está ejecutando con todos los derechos de administrador
17
A
Respuesta
11
- Win9x: Todo el mundo es "admin"
- NT4: OpenThreadToken/OpenProcessToken + GetTokenInformation(...,TokenGroups,...) on DOMAIN_ALIAS_RID_ADMINS SID in a loop
- 2000+: OpenThreadToken/OpenProcessToken + CheckTokenMembership en DOMAIN_ALIAS_RID_ADMINS SID
Otras alternativas son: IsUserAnAdmin o AccessCheck
No es necesario verificar las TOKEN_ELEVATION * cosas en el token para probar el proceso actual, pero es útil si necesita saber si el usuario podría elevarse porque tienen un token dividido, etc.
Cuestiones relacionadas
- 1. ¿Busca el código Delphi 7 para detectar si un programa se inicia con derechos de administrador?
- 2. WCF Service no se está ejecutando sin derechos de administrador
- 3. Ejecutando Visual Studio sin derechos de administrador
- 4. Detecta si se está ejecutando con privilegios de administrador en Windows XP
- 5. Determinar si el programa se está ejecutando en Windows Server
- 6. ¿Cómo asegurar que el programa de instalación se ejecutará con derechos de administrador?
- 7. Verifica programáticamente si se está ejecutando syncdb
- 8. OSX: ¿Cómo detectar si se está ejecutando Mission Control?
- 9. ¿Cómo puedo detectar si un programa se está ejecutando desde dentro de valgrind?
- 10. ¿Cómo puede mi programa detectar si se está ejecutando en un dominio en particular?
- 11. ¿IntelliJ inicia procesos con derechos de administrador?
- 12. compruebe si el programa se está ejecutando y ejecútelo si no está en perl
- 13. C# .NET: ¿Adquiere los derechos de administrador?
- 14. ¿Cómo puede saber mi programa si Delphi se está ejecutando?
- 15. ¿Cómo verificar si un proceso se está ejecutando con Delphi?
- 16. Comprobar si el proceso se está ejecutando
- 17. Depure un programa que necesita derechos de administrador en Windows 7
- 18. Cómo detectar si el iphone está sincronizado cuando la aplicación no se está ejecutando
- 19. Cambiando el registro sin derechos de administrador
- 20. ¿Cómo detectar con precisión si un trabajo de SQL Server se está ejecutando y lidiar con el trabajo que ya se está ejecutando?
- 21. Detectar si el dispositivo se está cargando
- 22. ¿Cómo puedo detectar si mi proceso se está ejecutando UAC elevado o no?
- 23. ¿Se está ejecutando un método al cerrar el programa?
- 24. ¿Cuál es la forma correcta de detectar si ruby se está ejecutando en Windows?
- 25. Mac OS X Lion: detectar si se está ejecutando otra aplicación en modo de pantalla completa?
- 26. C#: ¿Cómo detectar si el lector de pantalla se está ejecutando?
- 27. No se puede detectar si un usuario se está ejecutando con privilegios elevados, cuando no hay ventanas emergentes UAC
- 28. Elevar a los derechos de administrador en la aplicación Mac
- 29. Rails 3: ¿cómo detectar si la aplicación se está ejecutando en modo servidor para entornos diferentes?
- 30. comisión si ya se está ejecutando
No coloque [etiquetas] en la línea de asunto. Para eso son las etiquetas. – abelenky
Puede intentar realizar la operación para la que necesita los derechos. – ruslik
posible duplicado de [¿Cómo comprobar si un proceso tiene privilegios elevados en Windows 7 utilizando C++ nativo?] (Http://stackoverflow.com/questions/4196552/how-to-check-if-a-process-has-elevated -privileges-in-windows-7-using-native-c) –