Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/30: Рейтинг темы: голосов - 30, средняя оценка - 4.57
MaD1

Как сделать манифест??

07.02.2011, 12:30. Показов 6804. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Люди! Что нужно сделать, чтобы замутить в XP такие же красивые кнопочки и все остальное? Работаю в Builder'e. Что-то слышал про манифест только ниче не понял Или дайте ссылку на сорц
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.02.2011, 12:30
Ответы с готовыми решениями:

Манифест
Не подскажите, как прилепить manifest к проекту?

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

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

6
ManiaK
08.02.2011, 14:36
http://www.dev.qpp.ru/modules.php?name=Content&pa=showpage&pid =1
MaD1
08.02.2011, 14:47
Спасибо!
Но не то... мне про билдер нужно. И чтобы манифест был 'слеплен' с программой, чтобы его не таскать с собой.
4 / 4 / 2
Регистрация: 09.12.2010
Сообщений: 278
08.02.2011, 16:36
хай Mad !!!

вообщем фишка в чем ?
2 пути либо ты делаешь как пишет микрософт это делаешь специальный файл для манифеста и цепляешь его к ресурсам
либо качаешь компонент.....
в 7 дельфи он есть а вот в 6 билдере нет !
надо искать.
Видел я его точно но не обращал внимание.

найду скажу где лежит.

ЗЫ. бороться , искать - найти и перепрятать !
)) Знал знал я такой город, крупный промышленный центр Казахстана.
0
4 / 4 / 2
Регистрация: 09.12.2010
Сообщений: 278
08.02.2011, 21:04
Манифест(manifest) - это текст на языке XML, описывающий нашу программу и библиотеки, необходимые для ее работы. В данном случае мы рассматриваем манифест для подключения шестой библиотеки common controls, включенной в состав Windows XP
Манифест лучше всего создавать как внешний файл. Назвать его можно как угодно, к примеру 'data.bin'. Создав файл с таким именем, запишите в него следующий текст:

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<assemblyIdentity
version='5.1.0.0'
processorArchitecture='x86'
name='Author.Program_Name'
type='win32'
/>
<description>Program Description</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type='win32'
name='Microsoft.Windows.Common-Controls'
version='6.0.0.0'
processorArchitecture='x86'
publicKeyToken='6595b64144ccf1df'
language='*'
/>
</dependentAssembly>
</dependency>
</assembly>
Вообще, подключать манифест можно как через ресурсы приложения, так и используя внешний манифест. Внешний манифест подключается путем создания внешнего файла с именем типа 'application.exe.manifest', где 'application.exe' - имя исполняемого модуля вашей программы. Он помещается в одну папку с исполняемым модулем. Также можно использовать две версии манифеста: в виде ресурсов и в виде внешнего файла. В этом случае преимущество имеет дисковая версия манифеста.
0
4 / 4 / 2
Регистрация: 09.12.2010
Сообщений: 278
08.02.2011, 21:09
то же но более полное
как ресурс сделать и подключить сказать ?
кстати если ресурс добавить к проекту никаких файлов XML валяться не будут !!!!
это ведь так тебя раздражало ?
запомни ресурс номер 24, это важно.

Удачи перец !

Написанный ниже текст предназначен только для Windows XP (и ее продолжений)

Самый простой вариант - это написать манифест, позволяющий Windows XP на стадии загрузки программы подключить нужную версию библиотеки разделяемых элементов (common controls), и занести его в ресурсы.

Q: Что такое манифест?
A: Манифест(manifest) - это текст на языке XML, описывающий нашу программу и библиотеки, необходимые для ее работы. В данном случае мы рассматриваем манифест для подключения шестой библиотеки common controls, включенной в состав Windows XP.

Лирическое отступление
Здесь нужно сказать, почему для подключения этой самой библиотеки в Windows XP нужно предпринимать какие-либо действия. Ведь для подключения этой же библиотеки в предыдущих версиях Windows никаких усилий не требовалось: достаточно подключить в проект библиотеку comctl32.lib и инициализировать ее с помощью функции InitCommonControls(), прописанной в commctrl.h
Дело в том, что в Windows XP существует две разные библиотеки common controls: одна 'старая', версии 5.80, которая входит в поставку Internet Explorer 5.5 и которая может быть установлена на любую версию Windows, и 'новая' версия - 6.0, которая и обеспечивает XP-интерфейс, т.е. поддержку визуальных стилей (visual themes)
Вы можете спросить, а почему бы этим странным людям из Microsoft просто не заменить бы 'старую' версию на 'новую'?
Дело в том, что до выхода Windows XP часть оконных классов - так называемые базовые классы окон - кнопки, статики (static text), поля ввода (editbox), скроллбары, списки и комбобоксы - хранилась в основной библиотеке, отвечающей за элементы пользовательского интерфейса - user.exe (Да, да, именно user.exe, а не user32.dll) Теперь же, все они 'переехали' (нет, только новые версии - совместимость, понимаете ли) в библиотеку comctl32.dll
Из-за этого 'старая' библиотека оставлена на своем прежнем месте, а новая засунута немножко дальше. И чтобы извлечь именно новую версию и нужен манифест.

Формат манифеста
Манифест лучше всего создавать как внешний файл. Назвать его можно как угодно, к примеру 'data.bin'. Создав файл с таким именем, запишите в него следующий текст:

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<assemblyIdentity
    version='5.1.0.0'
    processorArchitecture='x86'
    name='Author.Program_Name'
    type='win32'
/>
<description>Program Description</description>
<dependency>
    <dependentAssembly>
    <assemblyIdentity
        type='win32'
        name='Microsoft.Windows.Common-Controls'
        version='6.0.0.0'
        processorArchitecture='x86'
        publicKeyToken='6595b64144ccf1df'
        language='*'
    />
</dependentAssembly>
</dependency>
</assembly>
Лирическое отступление
Текст приведенный на этой странице можно копировать прямо из FAQ в какой-нибудь текстовый редактор, поддерживающий сохранение в текстовом формате, например в notepad.

Написали? Да у вас успехи в программировании! Теперь измените имя программы в 6-ой строке name='...' (не используйте пробелов, рекомендуется форма 'Author.ProgramName' и описание программы в 9-ой между тэгами
0
MaD1
09.02.2011, 19:45
Ага, спасибо. Попробую. Есличе мыльну
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.02.2011, 19:45
Помогаю со студенческими работами здесь

Как подключить указанный манифест, чтобы нормально определять Windows 10 через getversionex() ?
https://msdn.microsoft.com/ru-ru/library/windows/desktop/dn481241(v=vs.85).aspx Ребят объясните поэтапно как подключить данный манифест...

манифест
Постоянно компилится манифест в программу , как убрать? delphi xe3

Манифест
Добрый день. Поначалу у меня была проблема с drag and drop в lisbox, но так, как тема ушла далеко в сторону, я решил создать другую тему...

манифест
Всем привет! Ребят хочу собрать исполняемый джарник. В фал манифеста пишу: Main-Class: Zxcv.main Так же скомпилировал байт...

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru