Cześć,
Czy można uruchomić pewien fragment kodu (np. wątek) z uprawnieniami administratora? Nie chcę wymuszać tych uprawnień dla całej aplikacji.
UAC - Czy można wykonać kawałęk kodu jako administrator?
- Rejestracja: dni
- Ostatnio: dni
- Rejestracja: dni
- Ostatnio: dni
Najprościej będzie utworzyć nowy proces z nowymi prawami. Tak to robi np. sam Windows.
- Rejestracja: dni
- Ostatnio: dni
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
- Rejestracja: dni
- Ostatnio: dni
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ę.
- Rejestracja: dni
- Ostatnio: dni
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).