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.

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

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ę.

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).

1 użytkowników online, w tym zalogowanych: 0, gości: 1