|
0 / 0 / 0
Регистрация: 01.04.2024
Сообщений: 2
|
|
Генерация запускаемого файла30.06.2024, 05:00. Показов 1897. Ответов 34
Метки нет (Все метки)
Здравствуйте. Хочу сделать программу. После запуска пользователь указывает в программе пути к графическим файлам и нажимает кнопку "Сгенерировать EXE", вводит имя файла/путь и программа создает exe-файл со специальным просмотрщиком выбранных файлов.
Как сделать создание exe-файла?
0
|
|
| 30.06.2024, 05:00 | |
|
Ответы с готовыми решениями:
34
Отправка файла на FTP-сервер посредством bat-файла, запускаемого через Планировщик задач Handle запускаемого файла |
|
Модератор
4372 / 3442 / 512
Регистрация: 27.01.2014
Сообщений: 6,266
|
||||||
| 02.07.2024, 22:50 | ||||||
|
OwenGlendower, Rius, Я все таки решил пойти чуть другим путем и записывать и читать бинарные данные в\из ресурсов PE файла .exe.
Да и в сети прям 100% рабочих примеров именно на VB.NET практически нет, поэтому остановлюсь пока на этой теме, чтоб развить ее до полностью рабочего кода. С чтением всё получается, запись тоже будет несложной. Доделаю, выложу тут. Еще, нужно бы использовать EnumResources для получения имен и указателей на каждый, чтоб потом их перебрать и подгружать, а не методом тыка перебирать каждый. Вот так, получается прочитать, если имя ресурса известно заранее
то есть вытягиваю массив байт, обращаясь к нему по имени этого ресурса, ну и далее в Bitmap перевожу. так можно и не только картинки хранить в EXE'шниках результат
1
|
||||||
|
Администратор
|
||
| 03.07.2024, 12:30 | ||
![]() Но у меня есть пара комментариев к коду. 1. Зачем тут LoadLibrary/FreeLibrary если ресурсы хранятся в самом exe файле? В моем понимании достаточно вызвать GetModuleHandle. 2. К чему эти постоянные New IntPtr? Что мешает указать тип возвращаемого значения?P.S. Картинка моряка прикольная
0
|
||
|
Модератор
4372 / 3442 / 512
Регистрация: 27.01.2014
Сообщений: 6,266
|
|||||
| 03.07.2024, 13:00 | |||||
|
OwenGlendower,
))Добавлено через 14 минут OwenGlendower,
А еще мне, давным-давно еще, понравился код от The Trick, где он читал и записывал данные в ресурс самого себя в рантайме, используя при этом инъекцию в процесс CMD, так, что при выгрузке приложения код, вшитый в процесс CMD выполнял обновление ресурса (типа String) в рашем exe'шнике...
2
|
|||||
|
Модератор
4372 / 3442 / 512
Регистрация: 27.01.2014
Сообщений: 6,266
|
|
| 03.07.2024, 13:17 | |
|
Rius, Да, я в курсе, они то (антивирусы) как раз таки и против таких "методов"
)) Просто сама реализация понравилась ![]() Ну а чтение и запись в ресурс - тут ничего противозаконного нет
0
|
|
|
Администратор
|
|||
| 03.07.2024, 13:24 | |||
|
1
|
|||
|
Модератор
4372 / 3442 / 512
Регистрация: 27.01.2014
Сообщений: 6,266
|
|||
| 03.07.2024, 13:47 | |||
|
Добавлено через 23 секунды
0
|
|||
|
Модератор
|
|
| 03.07.2024, 14:11 | |
|
Делал специальный класс для хранения файлов в "хвосте" exe файла. Правда на vb6. https://www.cyberforum.ru/post14416587.html
2
|
|
|
Модератор
4372 / 3442 / 512
Регистрация: 27.01.2014
Сообщений: 6,266
|
||||||||||||||||||||||
| 03.07.2024, 17:09 | ||||||||||||||||||||||
LoadLibrary и FreeLibraryДобавлено через 2 часа 51 минуту Ну собственно дожал я это дело, конечно, можно доработать код где-то, но на данном этапе все работает. Оформил в виде класса (читает ресурс, сохраняет или перезаписывает ресурс, получает имена всех ресурсов) Кликните здесь для просмотра всего текста
Применение: Получить картинку из ресурсов
0
|
||||||||||||||||||||||
|
Администратор
|
||
| 03.07.2024, 17:24 | ||
|
0
|
||
|
Модератор
4372 / 3442 / 512
Регистрация: 27.01.2014
Сообщений: 6,266
|
||
| 03.07.2024, 17:26 | ||
|
0
|
||
|
Администратор
|
|
| 03.07.2024, 17:27 | |
|
Yury Komar, в таком случае естественно нужен LoadLibrary, но я исходил из того что мы говорим про единственный exe как требуется ТСу.
0
|
|
|
Модератор
4372 / 3442 / 512
Регистрация: 27.01.2014
Сообщений: 6,266
|
||
| 03.07.2024, 17:32 | ||
|
Думаю так очень даже классно вышло, позже закину в готовые решения, там такого еще не было.
0
|
||
|
Вернулся
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,803
|
|
| 16.07.2024, 05:46 | |
|
А вы заметили что ТС ни разу так и не ответил потом... после создания темы...
1
|
|
| 16.07.2024, 05:46 | |
|
Копирование запускаемого файла Узнать параметры запускаемого файла Выполнение за пределами запускаемого BAT-файла Передача запускаемого текстового файла в memo (delphi) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|