UAC - Czy można wykonać kawałęk kodu jako administrator?

UAC - Czy można wykonać kawałęk kodu jako administrator?
0

Cześć,
Czy można uruchomić pewien fragment kodu (np. wątek) z uprawnieniami administratora? Nie chcę wymuszać tych uprawnień dla całej aplikacji.

RE
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:około rok
0

Najprościej będzie utworzyć nowy proces z nowymi prawami. Tak to robi np. sam Windows.

0

No właśnie nie wiem czy najprościej. Chodzi zachowanie stanu obiektów. Zabawy w serializację i deserializację mogą być trochę kłopotliwe. Problemem mogą też być nawiązane połączenia TCP

Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:24 minuty
0

Nie można uruchomić pewnego fragmentu kodu. Trzeba utworzyć nowy proces. Może być to ten sam plik .exe i przesłać mu dane dowolną metodą.

Poziom uprawnień UAC jest determinowany w momencie uruchamiania procesu, i nie można go potem zmienić w żadną stronę.

edytowany 1x, ostatnio: Azarien
RE
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:około rok
0

Istnieje jeszcze możliwość podniesienia uprawnień w ramach COM: http://msdn.microsoft.com/en-us/library/windows/desktop/ms679687%28v=vs.85%29.aspx. Aczkolwiek wymaga to odpowiedniego skonfigurowania takiej klasy COM podczas instalacji programu, gdy masz podniesione uprawnienia.

Innej możliwości już raczej nie ma. Nawet gdy zalogujesz się jako administrator za pomocą LogonUser to zwrócony token będzie miał ograniczenia (ponoć wyjątkiem jest sytuacja, gdy aplikacja działa w środowisku nieinteraktywnym).

edytowany 2x, ostatnio: Rev

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.