Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 36267|Απάντηση: 3

[Φόρμα Win] Τα προγράμματα C# εκτελούνται με δικαιώματα διαχειριστή

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 9/10/2016 9:14:38 π.μ. | | | |
Στα Vista και τα Windows 7 και νεότερες εκδόσεις, έχει προστεθεί ένας μηχανισμός ασφαλείας που ονομάζεται UAC (User Account Control) και εάν ο UAC είναι ενεργοποιημένος, ακόμα κι αν ο χρήστης συνδεθεί με δικαιώματα διαχειριστή, οι εφαρμογές του δεν μπορούν να εγγραφούν στον κατάλογο συστήματος, στο μητρώο συστήματος και σε άλλες ρυθμίσεις που ενδέχεται να επηρεάσουν την κανονική λειτουργία του συστήματος από προεπιλογή. Αυτός ο μηχανισμός ενισχύει σημαντικά την ασφάλεια του συστήματος, αλλά για τους προγραμματιστές εφαρμογών, δεν μπορούμε να αναγκάσουμε τους χρήστες να απενεργοποιήσουν το UAC, αλλά μερικές φορές η εφαρμογή που αναπτύσσουμε πρέπει να εκτελείται με τον τρόπο του διαχειριστή, πώς να επιτύχετε μια τέτοια λειτουργία;
Δείτε πώς υλοποιείται ένα πρόγραμμα C# προτρέποντας τον χρήστη να εκτελέσει με δικαιώματα διαχειριστή.
Σε αυτό το παράδειγμα, το πρόγραμμα WinForm δείχνει ότι δημιουργείται ένα νέο έργο και τροποποιείται ανάλογα:
Μέθοδος 1: Ξεκινήστε μέσω System.Diagnostics.Process.Start():
Μέθοδος υλοποίησης: Τροποποιήστε το αρχείο προγράμματος που δημιουργήθηκε από προεπιλογή και ο τροποποιημένος κώδικας είναι ο εξής:
Δεδομένου ότι ο κώδικας έχει ήδη σχολιαστεί, δεν θα υπεισέλθει σε λεπτομέρειες.
Αποτέλεσμα: Δεδομένου ότι ξεκινά καλώντας την εξωτερική κλήση του System.Diagnostics.Process.Start(), όταν εκτελείται απευθείας μέσω του VS, δεν θα ζητήσει από το VS να χρειαστεί δικαιώματα διαχειριστή, μόνο το ίδιο το πρόγραμμα χρειάζεται δικαιώματα διαχειριστή, το οποίο είναι διαφορετικό από το πρόγραμμα που δημιουργεί την εφαρμογή. Αυτή είναι η κύρια διαφορά από την εφαρμογή της μεθόδου 2.
Μέθοδος 2: Προσθέτοντας ένα αρχείο δήλωσης εφαρμογής:
Στο Project Add New Item, επιλέξτε Application Manifest File και κάντε κλικ στο κουμπί Προσθήκη
Μόλις προστεθεί, το αρχείο app.manifest ανοίγει από προεπιλογή, το οποίο:
Τροποποιήθηκε σε:
Στη συνέχεια, ανοίξτε τις Ιδιότητες έργου και τροποποιήστε τη Διακήρυξη στους Πόρους στην καρτέλα Εφαρμογές στη νέα εφαρμογή.δήλωση.
Δημιουργήστε ξανά το έργο και όταν ανοίξετε ξανά το πρόγραμμα, θα σας ζητηθεί να εκτελέσετε με δικαιώματα διαχειριστή.
Σημειώστε ότι εάν ξεκινήσετε τον εντοπισμό σφαλμάτων στο VS, θα σας ζητηθεί ότι αυτή η εργασία απαιτεί από την εφαρμογή να έχει αυξημένα δικαιώματα. Οπως φαίνεται παρακάτω:
Επιλέξτε Επανεκκίνηση με άλλα διαπιστευτήρια για να το κάνετε.
Μέθοδος 3: Τροποποιήστε απευθείας τις ιδιότητες του αρχείου προγράμματος
Κάντε δεξί κλικ στο αρχείο προγράμματος στην καρτέλα Συμβατότητα στο παράθυρο διαλόγου Ιδιότητες που εμφανίζεται
Επιλέξτε "Εκτέλεση αυτού του προγράμματος ως διαχειριστής".







Προηγούμενος:{"Το στοιχείο '_id' δεν ταιριάζει με κανένα πεδίο ή ιδιότητα της κλάσης."}
Επόμενος:.NET/C# 4 τρόποι για την υλοποίηση ερωτημάτων MongoDB και ασαφών ερωτημάτων [με πηγαίο κώδικα]

σχετικές αναρτήσεις

 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 9/10/2016 9:15:27 π.μ. |
Προσδιορίστε εάν το πρόγραμμα εκτελείται ως διαχειριστής
Πρέπει να προστεθούν χώροι ονομάτων:
χρησιμοποιώντας το System.Security.Principal.


 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 26/1/2021 9:59:52 π.μ. |
Η C# καθορίζει εάν ένα πρόγραμμα εκτελείται ως διαχειριστής
https://www.itsvse.com/thread-3004-1-1.html
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 13/10/2025 9:18:33 π.μ. |
Οι εφαρμογές .NET Core εκτελούνται ως διαχειριστές σε συστήματα Windows, ο κωδικός έχει ως εξής:


Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com