Консольное приложение C ++ «Запуск от имени администратора» для запуска от имени администратора? - PullRequest
3 голосов
/ 15 ноября 2011

Как я могу заставить командное приложение C ++ запускаться от имени администратора?

программе, которую я создаю, нужны права администратора, поэтому было бы неплохо разрешить пользователю запускать от имени администратора.Как я могу это сделать?

ПРИМЕЧАНИЕ: я не использую Visual Studio, я использую Code :: Blocks 10.05;

-Stian

Ответы [ 3 ]

8 голосов
/ 14 мая 2013

Вы также можете использовать оболочку:

Щелкните правой кнопкой мыши на проекте => Свойства конфигурации => Линкер => Файл манифеста => наивысший доступный (/ level = 'самый высокий доступный')

7 голосов
/ 15 ноября 2011

Вы можете создать файл манифеста, чтобы указать, что приложение требует повышения прав администратора. Это обычный текстовый документ, который вы можете создать в Блокноте, и он загружается Windows при запуске приложения.

Вот пример манифеста для приложения с именем MyApplication.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
  <assemblyIdentity version="1.0.0.0"
     processorArchitecture="X86"
     name="MyApplication"
     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>

Затем просто назовите его MyApplication.exe.manifest (заменив MyApplication именем вашего исполняемого файла), и он автоматически загрузится UAC.

Вы также можете встроить манифест в раздел ресурсов вашего исполняемого файла, если вы правильно его назовете.

См. Это для более подробной информации: http://msdn.microsoft.com/en-us/library/bb756929.aspx

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