Jak wyświetlić monit UAC o zapisanie pliku do ograniczonej lokalizacji za pomocą c #?

Gdy użytkownik zapisuje plik z mojej aplikacji, obecnie nie może zapisać do ograniczonych lokalizacji (jak C :). Sądzę, że jest to dobre ograniczenie, ale chciałbym przedstawić monit UAC, aby podnieść uprawnienia i zezwolić użytkownikowi na zapisanie w obszarze zastrzeżonym.

Widziałem wiele odpowiedzi na ten temat, które wiążą się z pojawieniem się nowego procesu z podwyższonymi przywilejami przy użyciu „runas”. Wygląda na to, że można to zrobić, podszywając się pod innego użytkownika. Z tego, co rozumiem, obie te metody wymagają od użytkownika podania poświadczeń użytkownika.

To, co chcę zrobić, to w zasadzie to, co robi sam system Windows. Podczas próby skopiowania pliku do C: w systemie Windows 7 (zakładając, że masz UAC ustawiony na domyślny poziom), pojawi się następujący monit:

Po kliknięciu przycisku Kontynuuj z tarczą kontroli konta, plik jest kopiowany do C: bez pytania o poświadczenia (zakładając, że jesteś zalogowany z uprawnieniami administratora).

Jak mogę powtórzyć to zachowanie w mojej aplikacji dla użytkowników administracyjnych? Nie powinni podszywać się pod innych użytkowników, ponieważ mają już uprawnienia administratora. Czy każdy może podać szczegóły dotyczące działania systemu Windows w tym procesie? Czy pojawiają się nowe procesy explorer.exe z podwyższonymi uprawnieniami?

questionAnswers(3)

yourAnswerToTheQuestion