Maison > développement back-end > C++ > le corps du texte

Pouvez-vous demander dynamiquement une élévation dans les applications Windows ?

DDD
Libérer: 2024-11-20 11:52:29
original
810 Les gens l'ont consulté

Can You Dynamically Request Elevation in Windows Applications?

Demande d'élévation au moment de l'exécution

Une exigence courante pour les applications Windows est la possibilité de demander des privilèges d'administrateur au moment de l'exécution. Bien que cela puisse être réalisé grâce à des modifications au moment de la compilation, la question se pose : pouvons-nous le faire de manière dynamique ?

Élévation du temps d'exécution

Pour élever les privilèges de manière dynamique, un manifeste est requis . Ce manifeste peut être intégré à l'application ou placé à côté de l'exécutable. En spécifiant l'attribut "requireAdministrator" dans le manifeste, le système demande à l'utilisateur une autorisation au lancement de l'application.

Alternativement, si vous souhaitez élever les privilèges pour l'instance actuelle, vous pouvez cliquer avec le bouton droit sur l'exécutable. ou un raccourci et sélectionnez "Exécuter en tant qu'administrateur".

Approche du code

Dans le code, le verbe "runas" peut être utilisé pour lancer un processus avec des autorisations élevées. Ceci est illustré dans l'extrait de code suivant :

ShellExecute( NULL, "runas", "c:\windows\notepad.exe", " c:\temp\report.txt", NULL, SW_SHOWNORMAL );
Copier après la connexion

En fournissant le verbe "runas", le système invite l'utilisateur à confirmer la demande d'élévation. Cela permet à l'instance actuelle de fonctionner avec des privilèges élevés tout en préservant toutes les données stockées en mémoire.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal