¿Cómo llamar a la línea de comando en lenguaje C y ejecutarla como administrador?
Depende de la situación específica. Es mejor si puedes publicar el código de ejecución específico.
En términos generales, si es un programa de consola, lo que dijo zhuhuaizhong es un enfoque razonable.
Pero si es un programa de Windows y ejecuta una línea de comando lanzando, entonces se debe usar uno de los siguientes métodos:
1.
Utilice el Comando runas de cmd: runas
/user:user_name
program.exe
2.
Crear una función de línea de comando externa para elevar privilegios, necesita usar una de las siguientes funciones (no se pueden implementar otros métodos como Winexec), todos tienen funciones similares a las runas:
CreateProcess
CreateProcessAsUser
CreateProcessWithLogonW
CreateProcessWithTokenW
Si está en win7, CreateProcessWithLogonW es el método recomendado. Busque el código específico según el nombre de la función y no lo pegue aquí.