Maison > Article > développement back-end > Comment puis-je élever les privilèges d'administrateur pour mon application C au moment de l'exécution ?
Élévation des privilèges d'administrateur lors de l'exécution dans les applications C
La possibilité de demander des privilèges d'administrateur au système d'exploitation au moment de l'exécution est une fonctionnalité souhaitable pour certains candidatures. Sous Windows, cette fonctionnalité est disponible via divers mécanismes.
Élévation du temps de compilation
Comme mentionné dans la question, des privilèges d'administrateur peuvent être accordés à une application lors de la compilation. en définissant le manifeste de l’application sur « requireAdministrator ». Cependant, si la nécessité d'une élévation survient au moment de l'exécution, d'autres approches sont nécessaires.
Élévation de l'exécution
Pour élever les privilèges d'une application existante au moment de l'exécution, plusieurs options existent :
Manifeste externe
Semblable à l'élévation au moment de la compilation, un manifeste externe peut être créé et associé au fichier exécutable de l'application. Ce manifeste peut spécifier que le "requestedExecutionLevel" est "requireAdministrator".
RunAs Verb
En utilisant le verbe "runas" dans la fonction ShellExecute, il est possible de lancer un processus avec des privilèges élevés. Cette option permet à l'utilisateur d'être invité à fournir les informations d'identification de l'administrateur avant l'exécution du processus.
Spécifiquement pour l'instance actuelle
Si l'objectif est d'élever les privilèges de l'instance actuelle instance de l'application, sans perdre les données conservées en mémoire, il est possible d'utiliser la fonction Windows "CreateSymbolicLinkW" pour créer un lien symbolique vers l'exécutable du compte administrateur. Cette technique consiste à créer un lien symbolique portant le même nom que l'application en cours d'exécution et à le pointer vers la version élevée de l'exécutable. La version élevée peut ensuite être exécutée, héritant de la mémoire et des ressources de l'application d'origine.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!