Сабж - ересь, конечно, НО прошу модераторов удалять этот топ не сразу Итак, по умолчанию, 6й Visual Basic впихивает в экзешник 3 иконки, группу (для этих иконок) и VERSIONINFO. Удалить эти ресурсы можно ресхакером, например, но каждый раз это делать мне уже надоело. Советы по удалению сразу всей секции ресурсов не приветствуются, т.к. там у меня лежат и "нужные" ресурсы. Гуглил. Есть идея написать утиль, но вдруг существует документированный (или не очень, но рабочий) метод, а я его просто не нашёл?
Quantum Есть тулзы типа strip(gcc) и им подобные, которые вроде позволяют вырезать лишнее. В состав BC5 (и TASM5) входит тулза rlink, которая может удалить ресурсы из файла (похоже только из Борландовских приложений). Имхо, лучше написать самому утилиту, благо функция UpdateResource позволяет удалять произвольные ресурсы из исполняемого файла.
Take Control of the Compile Process Посмотри там статья и add-in к vb6 с примерами, вообще я сомневаюсь что возможно, но и проверить не могу, VB6 снес
кроме как написать заглушку для c2.exe и выборочно объекты "самому" компилировать ничего в голову не приходит, с2 передается примерно такое [C2 -il "C:\WINXP\TEMP\VB561277" -f "D:\PATH TO PROJ\test.bas" -W 3 -Gy -G5 -Gs4096 -dos -Zl -Fo"D:\PATH TO PROJ\test.OBJ" -QIfdiv -ML -basic] Возможно какой-то и параметров и отвечает за ресурсы, т.к. в получившемся обж они уже есть
bogrus masquer C2 и link я уже перехватываю, но ресурсы создаёт генератор IL (это в какой-то DLL и вызывается до C2). VB берёт мой res-файл с "полезными" ресурсами, совмещает его со своим мусором (иконки и versioninfo), добавляет туда ссылки на VM и помещает это всё в ОДИН obj-файл. alpet Именно это я и подразумевал под Прав был Asterix, когда говорил, что нет в этом VB прямых путей.
так ведь тот же Resource Hacker поддерживает скрипты! Один раз написал скрипт, и не нужно ничего удалять ручками - запустил .bat файл - и готово. см. ResHacker.hlp -> Command Line Scripting syntax: ResHacker.exe -script ScriptFile ScriptFile is a text file with the following layout: //comments are preceded by double slashes [FILENAMES] Exe= SaveAs= Log= [COMMANDS] -add ResourceSrc, ResourceMask -addskip ResourceSrc, ResourceMask -addoverwrite ResourceSrc, ResourceMask -addoverwrite ResourceSrc, ResourceMask -modify ResourceSrc, ResourceMask -extract ResourceTgt, ResourceMask -delete ResourceMask и т.д. - см. примеры
Jupiter Я немного некорректно выразился про . Извините. Специфика задачи делает использование сторонних утилит неприемлемым.
сделал .bat и скрипт для ResHacker удаляет иконки из файла и VERSIONINFO кстати, у меня VB6 пихает в файл не три иконки (одно и то же, как я понял, только разного размера), а одну я думаю, что в том, что касается иконок, проще всего установить в свойстве проекта: убрать какую-либо иконку что касается версии, то мне [пока] не удалось заставить VB не пихать данный ресурс, который он пихает, даже если в свойствах проекта убрать всю инфу о версии _638964111__StripRes.zip
в файле vbe6.dll по офсету D9A56h меняем je->jmp. Размер vbe6.dll - 1 693 968 байт, версия - 6.0.0.8964 Свои ресурсы, в крайнем случае, отдельно линкуй
masquer Спасибо, конечно, за информацию, но патчить DLL тоже не хочется, а то МС ещё обидется на мою скромную персону... All На основании предыдущих постов и предварительного поиска в гугле можно заключить, что нет в VB6 штатного способа решения сабжа. Решил писать утиль (возможно, он потом превратится в add-in). Всем спасибо за участие!