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 ?

Comment puis-je élever les privilèges d'administrateur pour mon application C au moment de l'exécution ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-13 11:33:02557parcourir

How Can I Elevate Administrator Privileges for My C   Application at Runtime?

É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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn