Отключить виртуальный магазин Windows 7 из кода?

0

Отключение виртуального магазина Windows 7 можно выполнить вручную:

"Перейдите в новую папку приложения Virtual Directory, созданную Windows 7, затем щелкните правой кнопкой мыши>" Свойства "> вкладка" Безопасность ">" Редактировать "и если учетная запись локального компьютера (пользователей) отсутствует в списке, добавьте ее и установите разрешения для полного контроля и сохраните все выход из свойств (Дариен Смит: системный инженер) "

Есть ли способ сделать это с помощью кода с помощью С++ Builder XE или Delphi? И как проверить, отключено ли оно/включено?

Теги:
c++builder

2 ответа

8

Вам нужно добавить манифест в ваше приложение (желательно, вставив его в качестве ресурса - подробности см. В статьях, которые я связал в конце этого ответа). От создания и вставки манифеста (UAC) в MSDN

Пример файла манифеста приложения:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity type="win32" name="App" version="3.1.0.0" processorArchitecture="*"/>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/>
    </dependentAssembly>
  </dependency>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
        </requestedPrivileges>
    </security>
  </trustInfo>
  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
      <!--The ID below indicates application support for Windows Vista -->
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
      <!--The ID below indicates application support for Windows 7 -->
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
    </application>
  </compatibility>
</assembly>

Есть информация о добавлении манифеста в приложение Delphi/C++ Builder в uac - Как добавить манифест в проект Delphi? И шаг за шагом инструкции для встраивания манифеста в приложении Delphi здесь.

  • 0
    По-видимому, рекомендуется размещать манифест в отдельном файле рядом с исполняемым файлом. Это должно быть встроено.
  • 1
    @DavidHeffernan, оба способа будут работать, но 5.x предпочитает файл, а 6.x предпочитает ресурс.
Показать ещё 5 комментариев
1

Правильный способ отметить ваше приложение как не виртуализированное - связать манифест приложения с ним.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню