|
|
| Посл.отвђт | Сообщен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 |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.089 |