![]() |
Как запустить любой файл внутри exe?
Здравствуйте. Нужно при запуске exe файла запустить любой файл внутри exe, это может быть как и картинка, так и exe файл. Как и на каком языке программирования это возможно сделать? Не нужно никакого извлечения файлов куда-то, и не нужно никакого интерфейса, все должно происходить в silent (скрытом, невидимом) режиме. Большое спасибо.
|
слабо понятно что ты хочешь, особенно твое silent - но почитай про это например ShellExecute
язык не важен - главное подключить нужную библиотеку. |
Ну конечно,язык не важен..?! Еще как важен.
Я понимаю открыть изображение или звук из самой программы,но как запустить исполняемый файл..?! Может быть я конечно чего-то и не знаю,но по моему его нужно сначала извлечь что бы запустить. |
Поясните, что имеется в виду. Извлечь файл из ресурса и запустить, или открыть другой внешний файл?
|
Всем спасибо, попытаюсь объяснить. Нужно следующее
Создать exe файл. При его запуске (двойной клик или enter), этот файл должен запустить указанный ранее файл в середине себя. Например в exe -- есть файл "image.jpg". При запуске exe нужно запустить файл в середине себя "image.jpg", если возможно (а я думаю что возможно), то без извлечения файла "image.jpg" куда-то. Также нужно чтобы вместо файла "image.jpg", мог быть любой другой файл, например: "audio.mp3" или "program.exe". То что я писал silent - это значит чтобы ничего при этом на экран не выводилось. Как это осуществить? |
Это как? Чтобы jpg открылся и при этом не отобразился? *****так?
|
Вот и я про то же,зачем открывать изображение в скрытом виде..?!
Если нужно запустить файл в скрытом виде,используйте "ShellExecute" как сказал Beyound. В справочнике по WinApi есть описание..! Прочтите тут.. |
Думаю, ЛЮБОЙ файл без извлечения не запустить - нет гарантии, что, например, exe будет адекватно работать, если, например, он что-то пишет в собственный каталог..
|
В скрытом виде должна работать только сама "родительская" exe. То есть в случае ошибки или еще чего-то там чтобы на экран ничего не выводилось, а то мне даже уже и сделать инсталляхой с интерфейсом предлагали)).
Любезный, писать в собственный каталог ничего не нужно, только чтение. Все что должна делать exe-ха это запускать файл в середине себя (очень желательно без извлечения!). Запуск чего-то должен происходить штатными средствами, например как функция start в батнике. Чтобы изображение открывалось в установленном по умолчанию просмотрщике, аудио в своем плеере и т.д. Есть такие программы джойнеры называются. В основном их используют для склейки файлов, например изображения с вирусом. И при запуске файла который с генерировала программа, оно запускает указанные в середине два(или больше) файла-ов, и я думаю что вряд ли перед запуском этих файлов, exe-ха их куда-от извлекает. Джойнеры это где-то отдаленно то что мне нужно, но они мне не подходят по нескольким причинам: Все джойнеры палятся антивирусами, из за их назначения. Ними все склеивают вирусы, а мне этого(склеивать с вирусом) не нужно. Во вторых мне нужно не для двух и больше файлов. В третьих все немного проще мне нужно, чем то что они делают... Кстати я не программист, по этому помогите с кодом пожалуйста... я только веб-программист. Буду очень благодарен. |
Любезный, первое предупреждение за некорректные выражения на форуме.
fooger, создаем консольный проект на том же С# - в проект добавляем нужный файл и в свойствах файла (копирование при построении) - выставляем "встраиваемый"/"Embedded". В таком случае файл будет встраиваться в exe при компиляции. В коде запускаем выполнение файла через ShellExecute. |
Delirium, большое спасибо, по моему то что надо, но можно чу-чуть по подробнее, так как я не программист..?
Если можно и не сложно, то напишите код пожалуйста, я не думаю что он длинный) P.S. в какой программе писать нужно код? |
fooger, [решено] Кирилица в WIN32 GUI приложениях независимо от настроек в контрольной панели -> с 14-го по 19-й комментарии.
|
Привет fooger. Так как вы програграммист, хотя и не в более "кодовых" языках, если их можно так назвать, но стиль программирования вы должны понимать. Это меня удивило. Как и зачем вам кусок кода. Языков ведь несколько. И каждая такая часть кода должна быть оптимизированна со своим языком. Более того такие "ссыли" привязанны ко всей программе по определённым правилам. В плюсах, ссылка на открываемый файл и т.д. На вопрос можно ли сделать? Можно почти всё. Главное что бы написать код надо знать, каким образом открыть. Вы ведь просто запустите внешний код. Про запуск функции, вообще прописанно в азах программирования. Функция может запустить хоть саму себя. Пишеш ВЫЗОВ с параметрами, какими хочеш внутри основного тела и компилятор создаст копию точно такой же функции. И т.д. Любое обращение, пожалуйста. Хоть скрыто (подразумевается без окна) хоть открыто. Но часть кода, написанная любым человеком, без всего кода (если, как пишите - непрограммист) будет просто лиш набором знаков.
|
Привет wint1000. Я программирую на PHP, JavaScript(AJAX), HTML, CSS. Стиль программирования я кончено понимаю, но допустим если есть какой-нибудь батник, то разобрать что в нем написано - я еще смогу(и даже минимально подправить его под себя), но сам написать не смогу.
Я не понимаю что Вас удивило, в том что я нуждаюсь в данном коде? Мне все равно на каком языке программирования это будет написано (C++,C#,Delphi и т.д.), главное что бы работало. Насколько я понимаю - то что мне требуется скорее всего занимает лишь пару строк кода, и в нем практически нечего "оптимизировать", если его конкретно писать на конкретном языке. Если кто-то бы мне написал такой код (за что я был бы очень благодарен этому человеку), то я понимаю что выглядело это бы так: Я открываю программу компилятор, добавляю туда свой нужный файл, добавляю код, в коде вместо названия того файла что там стоял - меняю на свой, и компилирую. Цитата:
Мне кажется я только одно не правильно написал, то что мне нужен кусок кода, на самом деле мне нужен целый код, так как я не смогу дописать кусок кода, потому что не умею (надеюсь пока что). ... |
fooger, да, без извлечения никак, но извлекать то можно и в ОЗУ. Вот только запуск (да и извлечение) программ оттуда не всегда нравится антивирусным программам.
К примеру вот статья на эту тему http://www.wasm.ru/article.php?article=memfile Больше материала даст поиск по Запуск исполняемого файла из памяти. По изображению(.jpg) и аудио файле(.mp3) можно было что-то придумать (есть библиотеки которые способны читать прямо из памяти - Gdi+ и Bass соответственно), но при таком условии Цитата:
|
Спасибо. Admiral, а то что написал Delirium,
Цитата:
|
fooger, да - (копирование при построении). При чём если не отмечать, файл хоть и будет в ресурсах его нельзя будет запустить - Shell/ShellExecute не поддерживает запуск с ресурсов. Так что придётся это сделать самостоятельно.
|
fooger, в ЛЮБОМ случае будет идти извлечение, просто в моем примере это будет происходить в невидимом режиме, ну и самого встроенного EXE не будет отдельным файлом. А извлечение будет проходить. Чтобы запустить программу, её надо обработать системе, хотя бы для того, чтобы понять, ЧЕМ её запускать.
|
Время: 04:56. |
Время: 04:56.
© OSzone.net 2001-