Можно ли программно проверить, когда элемент управления .NET отключит UAC? - PullRequest
1 голос
/ 13 августа 2010

Я пытаюсь использовать рефлексию, чтобы программа посмотрела на себя и определила, вызывает ли определенный элемент управления UAC.Мне бы хотелось либо увидеть, что обработчик событий на кнопке создает привилегированный процесс, либо проверить, имеет ли для данной кнопки щит UAC.Возможно ли это?

Ответы [ 2 ]

1 голос
/ 13 августа 2010

Должно быть возможно написать что-то наподобие того, что вы просите, используя cciast.codeplex.com.

CCIAST позволяет декомпилировать методы.Таким образом, вы можете узнать, запускает ли метод потенциально привилегированный процесс.

Но в зависимости от вашего программного обеспечения он может не дать ожидаемых результатов.

Лучше всего, если возможно, возможноРеорганизовать рефакторинг для запуска только привилегированных процессов из небольшого и известного набора методов, а затем использовать инструменты рефакторинга, чтобы выяснить, как их использовать.

0 голосов
/ 13 августа 2010

Я думаю, что это будет возможно только при запуске функции элемента управления и проверке, будет ли вам отказано в доступе.Это основано на рассмотрении элемента управления, который создает файл в месте, определенном его контейнером.Изменение пути дает другой ответ на «UAC требуется?»вопрос, и пути, по которым требуется UAC, также будут зависеть от текущего пользователя.

Если вы знаете, что делает элемент управления (к каким системным ресурсам он пытается получить доступ), и манифесту содержащего приложения должно быть возможноРазрабатывайте его в каждом конкретном случае, но это может в конечном итоге просто повторить логику ОС в случае реестра, управления службами и файловой системы, где разные объекты имеют разный доступ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...