Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 36267|Válasz: 3

[WinForm] C# programok, amelyek adminisztrátori jogosultsággal futnak

[Linket másol]
Közzétéve 2016. 10. 09. 9:14:38 | | | |
Vista és Windows 7 és későbbi verziókban egy UAC (User Account Control) nevű biztonsági mechanizmus került hozzá, és ha az UAC be van kapcsolva, még ha a felhasználó adminisztrátori jogosultsággal is jelentkezik be, alkalmazásai nem írhatnak a rendszerkönyvtárba, rendszerregiszterbe és más beállításokra, amelyek alapértelmezés szerint befolyásolhatják a rendszer normál működését. Ez a mechanizmus jelentősen növeli a rendszer biztonságát, de az alkalmazásfejlesztők számára nem kényszeríthetjük a felhasználókat az UAC kikapcsolására, de néha az általunk fejlesztett alkalmazásnak az adminisztrátor útján kell futnia, hogyan lehet ezt elérni?
Így valósít meg egy C# program, amely arra kéri a felhasználót, hogy induljon adminisztrátori jogosultságokkal.
Ebben a példában a WinForm program bemutatja, hogy egy új projektet generálnak és ennek megfelelően módosítanak:
1. módszer: Indítás a System.Diagnostics.Process.Start() segítségével:
Megvalósítási módszer: Módosítsuk az alapértelmezettségben generált programfájlt, és a módosított kód a következő:
Mivel a kódot már kommentálták, nem megy bele a részletekbe;
Hatás: Mivel a System.Diagnostics.Process.Start() külső hívásával indul, amikor közvetlenül a VS-en keresztül fut, nem kéri a VS-nek az adminisztrátori jogokat, csak a programnak kell adminisztrátori joga, ami eltér attól, ami eltér attól, amely az alkalmazást generáló programtól. Ez a fő különbség a 2-es módszer megvalósításához képest.
2. módszer: Egy alkalmazási manifest fájl hozzáadásával:
A Project Add New Item menüben válaszd ki az Alkalmazás Manifest fájlt, és kattints az Hozzáadás gombra
A hozzáadás után az app.manifest fájl alapértelmezetten megnyílik, ami:
Módosítva:
Ezután nyisd meg a Projekt Tulajdonságokat, és módosítsd a Manifestet az Alkalmazások fül Erőforrások részén az új app.manifest-re.
Újraépíted a projektet, és amikor újra megnyitod a programot, azt kérik, hogy futtass rendszergazdái jogosultságokkal.
Fontos megjegyezni, hogy ha elkezded a hibakeresést a VS-ben, azt fogod feltüntetni, hogy ehhez az alkalmazásnak emelt jogosultságokkal kell rendelkeznie. Ahogy az alábbiakban látható:
Válaszd ki a Restart opciót más belépőlevelekkel ehhez.
3. módszer: Közvetlenül módosítsd a programfájl tulajdonságait
Jobb kattints a programfájlra a Kompatibilitás fülön a Tulajdonságok párbeszédablakban, amely felbukkan.
Jelöld meg a "Futtatd ezt a programot adminisztrátorként".







Előző:{"Az '_id' elem nem egyezik meg semmilyen mezővel vagy osztálytulajdonsággal."}
Következő:.NET/C# 4 módja MongoDB lekérdezések és homályos lekérdezések megvalósításának [forráskóddal]
 Háziúr| Közzétéve 2016. 10. 09. 9:15:27 |
Határozd meg, hogy a program rendszergazdaként fut-e
Névtereket kell hozzáadni:
System.Security.Principal használatával;


 Háziúr| Közzétéve 2021. 01. 26. 9:59:52 |
A C# határozza meg, hogy egy program rendszergazdáként fut-e
https://www.itsvse.com/thread-3004-1-1.html
 Háziúr| Közzétéve 2025. 10. 13. 9:18:33 |
A .NET Core alkalmazások Windows rendszereken adminisztrátorként futnak, a kód a következő:


Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com