вопросы касательно UAC - PullRequest
       20

вопросы касательно UAC

1 голос
/ 10 июня 2010

Я хочу реализовать приглашение UAC для приложения в visualc ++. Операционная система - 32-битная x7460 (2-процессорная). Windowsserver 2008. Exe - это myproject.exe через манифест.

Здесь для тестирования я буду создавать приложение.в ОС Windows XP и скопируйте exe-файл в систему, связывающуюся с Windowstaver vistamachine, и замените его

Так что я сделал

Ответы [ 3 ]

2 голосов
/ 10 июня 2010

Кажется, я помню, что поддержка манифеста была довольно слабой в Visual Studio 2005 - она ​​значительно улучшилась в VS2008 (хотя, когда вы конвертируете проект в 2008, вы должны вручную проверять внесенные в манифест изменения). Я бы предложил не использовать опцию манифеста в проекте. Вместо этого создайте шаг после сборки, чтобы вручную встроить ресурс с помощью инструмента mt - например, см. этот пример .

Инструмент mt также позволяет вам проверить достоверность манифеста. Если у вас есть возможность перейти на VS2008, то это стоит сделать.

1 голос
/ 10 июня 2010

Попробуйте отключить манифест в настройках проекта. В Visual Studio 2005 вы можете получить манифест emdebbed с указанными выше изменениями файла .rc. XML-код для UAC кажется правильным.

В Visual Studio 2005 не было встроенной поддержки встроенных манифестов в представлении ресурсов, но в Visual Studio 2008 есть.

0 голосов
/ 10 июня 2010

Что именно вы имеете в виду под «внедрением UAC-запроса»?Если вы хотите, чтобы ваше приложение требовало прав администратора, встраивание или добавление манифеста - это правильный путь.

Возможно, вы получили ошибку, что не удалось загрузить манифест, потому что вы должны отдельно указать каталоги для ресурса,Убедитесь, что папка, содержащая ваш манифест, включена в ресурс и включает пути (щелкните правой кнопкой мыши по проекту -> свойства -> ресурсы -> дополнительные каталоги включения).Обратите внимание, что невозможно повысить права для уже запущенного процесса.

Если вы хотите инициировать запрос UAC из определенной точки вашего приложения, есть способ сделать это, используя эту технику:http://msdn.microsoft.com/en-us/library/ms679687(VS.85).aspx

...