Maison > développement back-end > C++ > 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
Libérer: 2024-11-13 11:33:02
original
625 Les gens l'ont consulté

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

Élévation à l'exécution des privilèges d'administrateur 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'élever se fait sentir 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 :

Externe Manifest

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 le compte administrateur. exécutable. 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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal