Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 36267|Répondre: 3

[WinForm] Les programmes C# fonctionnent avec des privilèges administrateur

[Copié le lien]
Publié sur 09/10/2016 09:14:38 | | | |
Dans Vista, Windows 7 et versions ultérieures, un mécanisme de sécurité appelé UAC (Contrôle du compte utilisateur) a été ajouté, et si l’UAC est activé, même si l’utilisateur se connecte avec des privilèges administrateur, ses applications ne peuvent pas écrire dans le répertoire système, le registre système et d’autres paramètres qui pourraient affecter par défaut le fonctionnement normal du système. Ce mécanisme améliore considérablement la sécurité du système, mais pour les développeurs d’applications, nous ne pouvons pas forcer les utilisateurs à désactiver l’UAC, mais parfois l’application que nous développons doit fonctionner comme un administrateur, comment accomplir cette fonction ?
Voici comment un programme C# implémente la demande à l’utilisateur d’exécuter avec des privilèges administrateur.
Dans cet exemple, le programme WinForm démontre qu’un nouveau projet est généré et modifié en conséquence :
Méthode 1 : Démarrer via System.Diagnostics.Process.Start() :
Méthode d’impémentation : Modifiez le fichier programme généré par défaut, et le code modifié est le suivant :
Puisque le code a déjà été commenté, il n’entrera pas dans les détails ;
Effet : Puisqu’il est lancé en appelant l’appel externe System.Diagnostics.Process.Start(), lorsqu’il s’exécute directement via VS, il ne demande pas à VS d’avoir besoin de droits d’administrateur, seul le programme lui-même a besoin de droits d’administrateur, ce qui diffère du programme qui génère l’application. C’est la principale différence avec la mise en œuvre de la méthode 2.
Méthode 2 : En ajoutant un fichier manifest d’application :
Sur le projet Ajouter un nouvel élément, sélectionnez Fichier manifest de l’application et cliquez sur le bouton Ajouter
Une fois ajouté, le fichier app.manifest est ouvert par défaut, ce qui va :
Modifié en :
Ensuite, ouvrez les Propriétés du projet et modifiez le Manifest dans les Ressources de l’onglet Applications pour le nouveau app.manifest.
Reconstruis le projet, et quand tu ouvres à nouveau le programme, on te demandera de l’exécuter avec les privilèges administrateur.
Notez que si vous commencez à déboguer dans VS, on vous indiquera que cette tâche nécessite que l’application ait des privilèges élevés. Comme montré ci-dessous :
Sélectionnez Redémarrer avec d’autres identifiants pour le faire.
Méthode 3 : Modifier directement les propriétés du fichier programme
Faites un clic droit sur le fichier programme dans l’onglet Compatibilité dans la boîte de dialogue Propriétés qui s’affiche
Cochez « Exécuter ce programme en tant qu’administrateur ».







Précédent:{"L’élément '_id' ne correspond à aucun champ ou propriété de classe."}
Prochain:.NET/C# 4 façons d’implémenter les requêtes MongoDB et les requêtes floues [avec code source]
 Propriétaire| Publié sur 09/10/2016 09:15:27 |
Déterminez si le programme fonctionne en tant qu’administrateur
Des espaces de noms doivent être ajoutés :
en utilisant System.Security.Principal ;


 Propriétaire| Publié sur 26/01/2021 09:59:52 |
C# détermine si un programme s’exécute en tant qu’administrateur
https://www.itsvse.com/thread-3004-1-1.html
 Propriétaire| Publié sur 13/10/2025 09:18:33 |
Les applications .NET Core fonctionnent en tant qu’administrateurs sur des systèmes Windows, le code est le suivant :


Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com