Проверка прав процесса
От: vita5555  
Дата: 08.11.11 04:35
Оценка:
Необходимо в коде приложения проверить не запущено ли это приложение с правами администратора. Подскажите, пожалуйста, как правильно это сделать.

Пробовал:

1. ::IsUserAnAdmin — в экспериментах работало нормально, но в msdn'не рекомендуют её использовать, т.к. возможно в следующих версиях ос либо изменится её поведение, либо её не будет.

2. Использовал пример из msdn, приведённый в описании IsUserAnAdmin, с использованием CheckTokenMembership. Однако ниже есть замечание Stefan'а Ozminski, что пример этот не работает в Win Vista, если отключён UAC.

3. Использовал пример из msdn'а Stefan'а Ozminski, который предлогает код, альтернативный примеру из msdn'а выше. Однако в моих экспериментах в Win 7 он определяет, что у процесса есть права администратора, хотя процесс запускается из под обычного пользователя.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.