Trucos de Programacion "C" y "C++" en castellano
Entornos Linux y Windows

Averiguar si es administrador el usuario

Averiguar si el usuario tiene permisos de administrador

Existen en windows una serie de funciones no documentadas de gran utilidad para las aplicaciones, como puede ser el saber si un usuario tiene o no permisos de administrador.

Concretamente, si se busca dentro de los ficheros de cabecera que vienen con el visual Studio, se puede ver dentro del fichero de cabecera advpub.h . Dentro de este fichero existen muchas utilidades, que fundamentalmente servirán a aquellos que esten haciendo programas de instalación o drivers. Recomiendo la lectura de este fichero.

Voviendo al tema de este articulo, existe una funcion que se llama IsNTAdmin. Tal y como esta documentada el el fichero .h nos dice si el usuario tiene permisos de administrador (NOTA: No se mete en si se han editado permisos concretos para el usuario con el pooledit).

Para utilizar cualquiera de las librerías que hay incluidas en este fichero de cabeceras, no basta con incluir la cabecera, tambien hay que cargar en memoria la librería Advpack.dll, y llamar dentro de la librería a la funcion en concreto que queramos usar.

Incluyo un ejemplo de como se utilizaría:

Nota la segunda línea se podría sustituir por un #include <advpub.h> , pero no se ha hecho para clarificar el código.

 

Webmaster

Hiperion Pozuelo, Madrid, ES
Soy una persona sencilla, quizas demasiado seria, que disfruto de la vida.
Actualmente busco pareja.