Высота без перезапуска приложения?

Кому-нибудь удалось получить права администратора через UAC без перезапуска приложения или встраивания файла манифеста?

Я хотел бы записать в некоторые файлы, которые могут изменять только администраторы, не полагаясь на другое приложение с повышенными правами. Можно ли выдать себя за администратора, ранее вызывавшего с каким-то собственным API приглашение UAC?

Я думаю, что это невозможно, и мне придется использовать внешний инструмент с повышенными правами, но я спрашиваю на всякий случай.

РЕДАКТИРОВАТЬ: я знаю, что есть некоторые другие подобные вопросы вокруг, но так как они не охватывают тему олицетворения (так быстро, как я видел), а также некоторые возможные нативные вызовы приглашения UAC, я решил попробовать новую ветку...

5 ответов

Решение

Как указано в этом другом вопросе, это невозможно, у вас есть возможность поднять COM-объект или другой процесс, но не текущий процесс.

Запросить повышение уровня контроля учетных записей Windows Vista, если путь защищен?

Я читаю эту ветку (и многое другое), но вы никогда не знаете, что другим людям удалось сделать в последнее время. И, возможно, выпуск SP2 что-то изменил, не знаю.

Если все, что вы хотите сделать, это получить права администратора без манифеста (то есть: я предполагаю, что вы не говорите о взломе / взломе реализации UAC), тогда просто создайте ярлык с установленным флажком "Запуск от имени администратора". Вы можете программно сгенерировать этот ярлык до тех пор, пока вы посмотрите, как пишутся ярлыки (с точки зрения их содержимого полей), и я уверен, что есть некоторая пара имя / значение, которую вам нужно будет включить в ярлык, чтобы убедиться, что Run As Админ отмечен по умолчанию. Теперь, когда люди запускают этот ярлык вместо вашего exe-файла, им будет предложено запустить ваш exe-файл в повышенном режиме (с правами администратора), и таким образом вам не нужно будет перезапускать или использовать манифест.

Извините, если я неправильно понял ваш вопрос.

Ну, я полагаю, что нет изменений ни в том, как работает UAC, ни в обнаружении обходных путей, поэтому я отмечу предыдущий ответ как правильный.

Я сделаю другое приложение, которое выполняет административные задачи, которые мне нужны.

Спасибо.

Добавление файла манифеста в ту же директорию, что и исполняемый файл, "работает для меня". На самом деле не получает разрешения, но запрашивает разрешение.

Другие вопросы по тегам