· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.RESEARCH —› Ресурсы Манифест - что и как...

. 1 . 2 . >>

Посл.отвђт Сообщенiе


Дата: Янв 7, 2004 18:02:59

Здравствуйте!
Ещё раз с праздниками!
Недавно полистав MSDN и почитав
кое-что на разных сайтах я заинтересовался
таким типом ресурсов, как Manifest.
Решил написать небольшое приложение, которое
бы добавляло в файл ресурсы типа Manifest.
Риторический вопрос: как?
У меня на этот счёт есть два предположения:
1) либо есть мне неизвестный метод обавления
в ресурсы и я буду "изобретать велосипед"
(т.е. исходники rc редакторов или какой-нить
доступный мануал по записи/редактированию);
2) либо придёться делать велосипед (трёхколёсный ;).

Трабла ещё и в том, что не все приложения имеют
"подключённую" comctl32.lib, а ведь её ещё
инициализировать нужно и т.д.

Вопрос: а не проще ли делать в этом случае ресурсы
в отдельном файле, как это рекомендуют в некоторых
источниках?
Буду рад выслушать ваши мысли по этому вопросу и
увидеть линки на статьи про ресурсы и работу с ними.
Заранее благодарен.
1990


Дата: Янв 7, 2004 18:14:43

Решил написать небольшое приложение, которое бы добавляло в файл ресурсы типа Manifest.
Риторический вопрос здесь - а нахрена?
Тут либо добавляешь в ресурсы таку строчку
1	24	DISCARDABLE	"manifest.xml"
либо этот же xml переименовываешь в your_program_name.exe.manifest.
А подкулючение или неподключение comctl32.lib здесь ни при чем.


Дата: Янв 7, 2004 18:21:59

masquer
Риторический вопрос здесь - а нахрена?
;
В файл не содержаший такие ресурсы. Это для увеличения кругозора ;-) Ну так что, есть материалы?


Дата: Янв 7, 2004 18:24:15

masquer
Видимо, 1990 хочет этот манифест затолкать в уже готовый экзешник, в секцию .rsrc


Дата: Янв 7, 2004 18:25:04

В файл не содержаший такие ресурсы.
тогда делаешь расширение .manifest. А для расширения кругозора лучше всего МСДН подойдет :)


Дата: Янв 7, 2004 18:42:34

Quantum
Да, это я и хочу. А может быть ты подскажешь где взять материалы.


Дата: Янв 7, 2004 18:51:14 · Поправил: Quantum

1990
Тебе нужно описание структуры (формат) дерева ресурсов, т.е. то, что лежит в секции .rsrc. У себя я этой документации не нахожу... Может Dr. Golova поможет?

ЗЫ: На худой конец можно скомпилить два простых экзешника (один с манифестом, другой без манифеста) и сравнить в хекс-редакторе.


Дата: Янв 7, 2004 19:24:58

1990
Есть программа, которая это делает. Названия точно не помню(что-то вроде PE Editor), но в названии точно было слово "PE".


Дата: Янв 7, 2004 19:28:37


Дата: Янв 7, 2004 21:42:06

Toxic
Спасибо!
Quantum
написал Доктору. ;-)


Дата: Янв 8, 2004 19:01:44
Правка

masquer
А подкулючение или неподключение comctl32.lib здесь ни при чем.
Ага… Сразу видно, что XP Visual Styles не любите :)
Я таким занимаюсь с появления 9у меня0 WinXP!

Для простоты использую proga.exe.manifest, иногда PE Explorer.
Так вот: не зря PEx ругается, если прога не вызывает InitCommonControls*, а особенно, если в импорте у неё нет comctl32.dll (которая и подключается через comctl32.lib + вызов функции, не обязательно Icc).
Иногда при отсутствии вызова icc прога работает и визуальные стили тоже нормально отображаются, иногда работает и без comctl32.dll в импорте (очень редко).
Но чаще прога просто вылетает в GPF, если добавить (всё равно как) манифест. И чаще это происходит с прогами, активно использующими свои методы отрисовки контролов (коих куча, скажем, в Delphi™: напр., наследники TGraphicControl).

Кстати, Microsoft рекомендует использовать именно файлы, а не ресурсы (они имеют более высокий приоритет перед ресурсами, также как и .config).

P.S. Интерфейс, сделанный для визуальных тем и интерфейс, спроектированный без них (т.е. на Win9x и т.п.) — очень сильно отличаются, иногда не в лучшую сторону. Как правило, проектировать лучше без тем, но посмотреть на прогу под ними желательно…


Дата: Янв 8, 2004 19:03:53 · Поправил: 1990

IceStudent
Да, у меня глюки есть в моей программе. Я к ней ресурсы подключил, а всё стало как-то разъезжаться - слишком маленьки поля. ;-)
Pe Explorer я тоже пользуюсь.


Дата: Янв 8, 2004 19:12:01
Правка

1990
В вашей программе? При подключении манифеста?
А без него всё ок?
Кстати, темы есть какие угодно — опять-таки для проектирования лучше использовать стандартные (e.g. Luna).

слишком маленьки поля.
Вот-вот, потому нужно сразу смотреть за этим, а не убивать XP за её темы…

IMHO, конечно, ко всем моим ответам :)


Дата: Янв 11, 2004 11:11:27

Dr.Golova не ответил. Так я и не нашёл описание структуры ресурсов. Может быть у кого-нибудь всё таки есть пример/документация работы с ресурсами?
Буду очень благодарен!


Дата: Янв 11, 2004 12:37:16

1990, идешь http://www.wotsit.org/ и в поиске набираешь resource, идишь "Win32 Resource File Format [Marco Cocco]", сливаешь, читаешь.

http://www.ecn.purdue.edu/~laird/WINE/loader/pe_resource.c
http://cvs.winehq.com/cvsweb/wine/loader/Attic/pe_resource.c?rev=1.21
http://www.microsoft.com/msj/0198/hood0198.aspx

. 1 . 2 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.089