Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/55: Рейтинг темы: голосов - 55, средняя оценка - 4.82
1 / 1 / 1
Регистрация: 20.09.2014
Сообщений: 310
1

Как подключить указанный манифест, чтобы нормально определять Windows 10 через getversionex() ?

17.02.2016, 22:47. Показов 10531. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
https://msdn.microsoft.com/ru-... s.85).aspx
Ребят объясните поэтапно как подключить данный манифест пожалуйста, это что нормально определять windows 10 через getversionex()/
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2016, 22:47
Ответы с готовыми решениями:

Как подключить к приложению манифест?
расскажите пожалуйста пошагово,что делать,чтобы подключить файл манифеста в проект ,чтобы интерфейс...

Как подключить через Wi-Fi два ПК (один с Windows 10, другой с Windows 7)?
В основном все инструкции в интернете указывают на использование домашней группы, которой нет в...

Как называется девайс, чтобы обычный 2.5" винт можно было через него к USB подключить?
Приветствую! Может кого мой вопрос посмешит, но для меня он актуальный. Недавно поменял HDD в...

Как узнать какой репозиторий подключить, чтобы можно было устанавливать определенный пакет через sudo apt-get install
Это может показаться смешным... но все же... часто возникает проблема, что sudo apt-get install ...

1
Ушел с форума
Эксперт С++
16473 / 7436 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
18.02.2016, 09:13 2
1. Создаем текстовый файл в любом редакторе, например в стандартном "Блокноте".
Я пользуюсь AkelPad, например, но это не принципиально. Содержимое файла
примерно такое:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
 
<assembly
  xmlns="urn:schemas-microsoft-com:asm.v1"
  manifestVersion="1.0">
 
  <assemblyIdentity
    type="win32"
    name="MyCompany.ProductName.ComponentName"
    version="1.0.0.0"
    processorArchitecture="*">
  </assemblyIdentity>
 
  <description>Description of the component.</description>
 
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
          level="asInvoker"
          uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>
 
  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
 
      <!-- Windows 10 -->
      <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"></supportedOS>
 
      <!-- Windows 8.1 -->
      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"></supportedOS>
 
      <!-- Windows 8 -->
      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"></supportedOS>
 
      <!-- Windows 7 -->
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"></supportedOS>
 
      <!-- Windows Vista -->
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"></supportedOS>
 
    </application>
  </compatibility>
 
  <application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings>
      <dpiAware
          xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">True/PM</dpiAware>
    </windowsSettings>
  </application>
 
</assembly>
При сохранении файла следует указать кодировку UTF-8.

Теперь разберем этот манифест по блокам:

<?xml... - стандартная декларация, с которой начинается любой XML-файл.

<assembly> - корневой элемент XML.

<assemblyIdentity> - здесь описаны мета-данные твоей "сборки", такие как название,
архитектура, номер версии и т.д. Есть и другие атрибуты, вся информация
описана в MSDN, в разделе про манифесты.

Строго говоря, exe не является сборкой (assembly) в полном смысле этого слова,
но такая декларация дает пользоваться основными возможностями, которые
дают манифесты.

<description> - описание сборки (опционально).

<trustInfo> - здесь задается уровень прав, с которыми должно быть запущено приложение.
"asInvoker" - запуск без повышения, "requireAdministrator" - запрос администраторских
прав, "highestAvailable" - запрос максимально возможных прав.

<compatibility> - в этом блоке перечисляются GUID-ы соответствующих версий Windows, с
которыми данный exe декларирует себя как совместимый. В настоящее время известны
пять GUID-ов от Vista до Windows 10 включительно. Именно эта секция влияет на то,
будет ли задействован для приложения механизм совместимости или нет.
Например, Windows 8.1 и Windows 10 при отсутствии нужного GUID-а всегда будут
выдавать для GetVersionEx номер версии 6.2., т.е. номер от Windows 8.

<dpiAware> - этот блок аналогичен "compatibility", здесь декларируется совместимость
приложения с High-DPI, т.е. с режимами, когда выставлен размер шрифтов 125%, 150% и выше.
Без "dpiAware" твое приложение на таких настройках будет выглядеть размыто и
слегка неестественно.

Кстати, если приложение графическое и использует визуальные темы оформления, то
следует в блок "assembly" включить также следующий фрагмент:
XML
1
2
3
4
5
6
7
8
9
10
11
12
<dependency>
  <dependentAssembly>
    <assemblyIdentity
      type="win32"
      name="Microsoft.Windows.Common-Controls"
      version="6.0.0.0"
      processorArchitecture="*"
      publicKeyToken="6595b64144ccf1df"
      language="*">
    </assemblyIdentity>
  </dependentAssembly>
</dependency>
2. Созданный XML-файл следует подключить к своему exe как ресурс.
Тип ресурса - 24, ID - 1. Например:
Код
1 24 "MyManifest.xml"
При этом следует в настройках компоновщика (Linker Options) отключить генерацию манифеста
(Generate Manifest = No).
3
18.02.2016, 09:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.02.2016, 09:13
Помогаю со студенческими работами здесь

Как нормально создать сцену и подключить DirectX?
Под сценой подразумеваю различный набор контролов на форме в разное время, т.е. сначала форма имеет...

Как сделать так, чтобы через Центр обновления Windows загружались не только обновления для Windows?
Здравствуйте! Такой вопрос, как сделать так, чтобы Центр обновления Windows загружал не только...

Как общепринято определять свойство у объектов Windows Forms?
В каком порядке наиболее хорошо определять свойства объекта Windows Forms? Для кнопки, например.

Манифест Windows XP
Кинул в Dtamodule1. Манифест ХР все стало в стили ХП как теперь отключить этот стиль :) . Удаление...

Через API GetVersionEx и GetComputerName определить номер сборки операционной системы и имя компьютера
Доброго времени суток. Как применить эти апишки GetVersionEx и GetComputerName чтобы определить...

Как точно определять весь траффик, который проходит через программу?
Пользователи жалуются, что статистика, выдаваемая моей прогой подвирает. Моя программа есть клиент...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru