Resource editor на vb

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Resource editor на vb

Сообщение Cytron » 22.08.2007 (Ср) 20:22

Доброго времени суток!
Подскажие кто нибудь исходники редактора ресурсов на VB.
Меня задолбало встраивать манифест в ресурсы Resource Hackerом и я хочу написать простенькую программу, которая будет это делать сама.
По поиску редактор ресурсов на vb нашел много но, увы, все не то.
Заранее спасибо!

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 22.08.2007 (Ср) 20:29

Гораздо проще забрасывать в проект готовый res-файл с манифестом. После компиляции у тебя все будет и ничего не надо будет встраивать.
Методика работы такова:
1. Сохраняешь ресхакером 24-ку какой-нибудь проги как RES-файл и
1.1. простым перетаскиванием добавляешь этот файл к своему проекту.
2. Все. Компилируешь свой проект и проверяешь - 24 уже там.
3. Кроме того, ты можешь открывать ресхакером RES-файлы и манипулировать ресурсами, как хочешь, добавлять, удалять.
Все потому, что к бейсика проекту подключить ресурсов файл один только можно. 8)
4. Еще в комплекте у бейсика есть командно-лайновый компилятор RES-файлов. Если нравится клаву тискать - пользуйся им.
5. Есть еще много экзотических вариантов. Но написать свой редактор ресурсов - самый оригинальный! :lol:
6. Конечно, в других языках (например в Delphi) все проще, там при создании нового проекта в его папке автоматом генерится RES-файл, который можно открыть тем же РесХакером и напихать картинок, иконок, мидишек, авишек, двадцать четверок и т.д.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

burik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 03.11.2005 (Чт) 22:04
Откуда: Беларусь, Рогачев

Сообщение burik » 22.08.2007 (Ср) 21:19

Денис писал(а):Конечно, в других языках (например в Delphi) все проще...

Ага, видел Borland Delphi 7, так там элемент управления специальный есть(XP Manifest или как-то так называется): кидешь на форму и у тебя XP'шный стиль.
Между слухов, сказок, мифов,
просто лжи, легенд сомнений
мы враждуем жарче скифов
за несходство заблуждений
Игорь Губерман

Watts[]n!
Постоялец
Постоялец
 
Сообщения: 573
Зарегистрирован: 11.02.2007 (Вс) 0:19

Сообщение Watts[]n! » 22.08.2007 (Ср) 21:53

Человек исходники просил :)
По-моему в кирпичах было такое.

А по поводу прикручивания манифеста - зачем мучаться с ResHacker'om (и что так к нему все прилипли), если есть Restorator, в 2005 версии которого есть специальный мастер для этого.

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Resource editor на vb

Сообщение jangle » 22.08.2007 (Ср) 22:20

Cytron писал(а):Доброго времени суток!
Подскажие кто нибудь исходники редактора ресурсов на VB.
Меня задолбало встраивать манифест в ресурсы Resource Hackerом и я хочу написать простенькую программу, которая будет это делать сама.
По поиску редактор ресурсов на vb нашел много но, увы, все не то.
Заранее спасибо!


Ищи примеры с UpdateResource

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 22.08.2007 (Ср) 23:04

burik
Мы не ищем легких путей - в дельфийском компоненте манифест прописывает имя приложения как "delphi application", а мне хочется, чтобы там стояло мое название.
Кроме того меня удивил сам факт незнания методов работы с ресурсами и я поспешил изложить эти методы.
Watts[]n!
Кроме того меня удивил сам факт незнания методов работы с ресурсами и я поспешил изложить эти методы.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 22.08.2007 (Ср) 23:11

PE Explorer также справляется с этим на ура. Более того, он добавляет что-то там ещё для висты.


А что если прикинуться LINK.EXE и сувать всюду манифест?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Сообщение Cytron » 23.08.2007 (Чт) 8:50

ХакерВы и вправду телепат!
:lol: Я так и хотел сделать! (link.exe)
Денис
Вы бы попробовали бы сначала свой способ про res файл и компиляцию. Уж наверное я попробовал перед созданием темы так сделать. Просто VB компилирует проект и записывает 24 ресурс как binary тип. А нужен text. Ну, выскакивает ошибка. :roll:
Watts[]n!
Вам спасибо за понимание о том что я просто прошу исходники, а не советов как мне лучше сделать то или это. :? Я обязательно просмотрю кирпичи!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 23.08.2007 (Чт) 8:55

Вы и вправду телепат!

А то :)
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Сообщение jangle » 23.08.2007 (Чт) 9:11

А зачем вообще прошивать манифест в ресурсы? Достаточно просто положить его рядом с EXE файлом, переименовав: ИмяФайла.exe.manifest

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 23.08.2007 (Чт) 9:16

Чтобы был один файл, а не два.
Lasciate ogni speranza, voi ch'entrate.

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Сообщение jangle » 23.08.2007 (Чт) 9:22

Чтобы был один файл, а не два.


А в чем разница? Один файл, два файла, или три. Что это меняет?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 23.08.2007 (Чт) 9:26

Для маленьких утилит разница есть. Удобнее, когда они состоят из одного файла.
Lasciate ogni speranza, voi ch'entrate.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 23.08.2007 (Чт) 9:28

Манифест, лежащий отдельным файлом, могут удалить, забыть, открыть и испортить и тд.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Сообщение Lumen » 23.08.2007 (Чт) 12:10

А что мешает сделать то же самое с внутренним манифестом в том же PE Explorer'e?
Подпись проходит рефакторинг

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 23.08.2007 (Чт) 12:13

Мешает то, что тот кто использует PE Explorer знает, для чего он (PE Explorer) нужен, и для чего нужен манифест.

Для всех остальных это просто непонятный текстовик.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 23.08.2007 (Чт) 13:18

А по поводу прикручивания манифеста - зачем мучаться с ResHacker'om (и что так к нему все прилипли), если есть Restorator, в 2005 версии которого есть специальный мастер для этого.
Не все программы, в которые насильно засунуть манифест будут потом работать корректно. Например, написанные на 6-х Делфях будут вылетать при нажатии на ColumnHeader в ListView. Некоторые вообще не будут запускаться. Так зачем же насиловать проги, автор которых сам не добавил манифест?
А я все практикую лечение травами...

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 23.08.2007 (Чт) 14:58

Cytron
У меня все прекрасно работает.
Есть вариант глюка, если в секции <description> содержатся какие-нибудь спецсимволы. Рекомендуется не использовать ничего, кроме букв латинского алфавита.
Можешь поиграть с вариантами (буквы и _ ), (буквы и . ), (буквы и пробел) какой-то из них дает сбой, после чего ресурс воспринимается, как бинарный.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Сообщение Cytron » 23.08.2007 (Чт) 19:43

Попробовал UpdateResource вообще какаято фигня...
Код: Выделить всё

Dim s As String, a As Long
a = BeginUpdateResource(Command$, False)
MsgBox a
s = "В эту переменную кладу манифест в одной строчке."
MsgBox UpdateResource(a, "24", "1", 0, s, Len(s))
MsgBox EndUpdateResource(a, False)
End

Добавляет ресурс 24 : 1 но в нем нечитаемые символы в бинарном формате...
В какой кодировке он пишет ресурсы? Переводить в Unicode?
PS Я просто хотел именно прогу сделать а не вариант на уровне IDE

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Сообщение jangle » 23.08.2007 (Чт) 19:56

Попробовал UpdateResource вообще какаято фигня...


Код приведенный тобой - полнейший бред...

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 23.08.2007 (Чт) 20:55

Приложенный проект сляпан левой ногой за пять секунд.
Вообще поиском пользоваться надо, но, так уж и быть выкладываю здесь. В проекте необходимый минимум для правильного отображения кнопок и проч. на форме.
Вложения
manSample.rar
Это проект с внутренним манифестом
(5.08 Кб) Скачиваний: 90
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Сообщение Cytron » 23.08.2007 (Чт) 23:49

jangle
Я понял ошибку.... :oops: просто не работал раньше с этой api
Денис
Да вы не поняли еще что ли что мне не надо resource file к проекту делать, мне прога, делающая это после компиляции нужна... :?

Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Сообщение Cytron » 24.08.2007 (Пт) 1:20

Всё, сам во всем разобрался, спасибо всем кто помогал!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Majestic-12 [Bot] и гости: 38

    TopList