Demander des privilèges d'administrateur lors de l'exécution
Question
Comment puis-je demander des privilèges d'administrateur lors de l'exécution afin que l'utilisateur reçoit l'invite à autoriser ou à le désavouer?
La solution
Cette information est écrit dans le manifeste de fichier exe. Vous devez utiliser le champ requestedExecutionLevel
(mais pas sûr - essayez de régler à highestAvailable
et voir si elle fait ce que vous avez besoin). Voir par exemple ici pour plus d'informations (article un peu plus, mais toujours valide): http://blogs.msdn.com/b/cjacks/archive/2006/09/08/exploring- manifeste-part-2-default-namespaces-et-UAC se manifeste en fenêtres vista.aspx
Il existe des outils dans Visual Studio qui vous permettent d'intégrer votre propre manifeste ou même simplement de le modifier. En outre, il est un outil écrit en Perl ( http://metacpan.org/pod/Win32 :: :: Exe Manifest ).
Autres conseils
si vous voulez en réponse à un bouton (par exemple, comme « processus de spectacle pour tous les utilisateurs » dans le gestionnaire de tâches), vous devez Restart votre application en utilisant la méthode suivante
ShellExecute(0,L"runas",exepath,0,0,SW_SHOWNORMAL);