Maison  >  Article  >  développement back-end  >  Pouvez-vous demander dynamiquement une élévation dans les applications Windows ?

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

DDD
DDDoriginal
2024-11-20 11:52:29810parcourir

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 );

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!

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