Вы можете сообщить Windows, что ваше приложение должно работать от имени администратора, используя элемент requestedExecutionLevel
в манифесте приложения.
Файл манифеста - это файл XML, который выглядит следующим образом. Он должен иметь имя YourApp.exe.manifest и находиться в той же папке, что и исполняемый файл. (Он также может быть встроен в ресурсы вашего приложения; он должен иметь тип ресурса RT_MANIFEST
и идентификатор 1.)
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="YourApp" type="win32"/>
<description>Description of your application</description>
<!-- Identify the application security requirements. -->
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Дополнительные сведения о манифестах приложений и их создании см. В Создание и встраивание манифеста приложений (UAC) в MSDN.
Обратите внимание, что манифест соблюдается только в Windows Vista и более поздних версиях. Если ваш пользователь работает как обычный пользователь в Windows XP, ваше приложение не будет запущено от имени администратора; вам может потребоваться написать код, чтобы обнаружить это, если это будет проблемой для вашего приложения.