Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2011, 16:54   #1
_KUL
Пользователь
 
Регистрация: 12.03.2011
Сообщений: 96
Восклицание В программу на Delphi поместить EXE файл

В общем пишется программа, которая чем то напоминает работу "панкбастера". Т.е. пользователь щёлкает по проге, она запускается, далее запускает исполняемый файл игры и каждые 20 минут прога смотрит в диспетчер задач, если игра ещё висит, значит делает принскрин, на фотку помещает ник игрока, помещает все ip адреса системы, далее отправляет эту фотку на сервак по ftp, потом смотрит диспетчер задач, весь список запущенных программ так же отправляет на сервер. Всё работает, всё отлично.
НО! Ведь если пользователь мало майски сообразительный, то он посмотрит, что в клиенте игры появился новый экзешник и попробует его запустить, а убедившись что этот файл это и есть игра, то он не будет запускать тот файл программы, который собственно и делает скрины.

Вопрос - как exe файл поместить внутрь программы написанной на delphi? Своего рода сделать контейнер, когда программа запущена, то она сама из себя запускает файл игры? Или это в принципе не получится?
_KUL вне форума Ответить с цитированием
Старый 12.03.2011, 17:24   #2
tsar_
Форумчанин
 
Аватар для tsar_
 
Регистрация: 06.01.2011
Сообщений: 369
По умолчанию

А запустить нужный ехе-шник как внешнюю программу не устраивает? Скажем, при помощи ShellExecute и ей подобных? Или категорически нужно именно
Цитата:
exe файл поместить внутрь программы написанной на delphi
?
Программирую по необходимости
tsar_ вне форума Ответить с цитированием
Старый 12.03.2011, 18:18   #3
_KUL
Пользователь
 
Регистрация: 12.03.2011
Сообщений: 96
По умолчанию

Я про это и написал вверху, что сейчас прога так и работает! НО! Что мешает запусть рядом тот экзешник? Если при его запуске запускается игра! А следовательно если читорасты поймут это, то зачем им запускать экзешник1 (который с "античитом"), если можно запустить игру экзешник2, который чистый? В том то и проблема, что нужно как то сделать, что бы у человека небыло возможности напрямую запустить игру, а только посредством запуска проги, которая таки и запустит игру и будет скрины снимать.
_KUL вне форума Ответить с цитированием
Старый 12.03.2011, 20:32   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

хм =) Можно засунуть exe как ресурс в программу, затем извлекать во временную папку и запускать createProcess'ом. Ещё есть вариант извлекать программу в память и запускать оттуда, НО появятся сложности, твоей программе придётся делать все тоже что деает загрузчик exe от виндов... Читай про запуск exe из памяти...
Человек_Борща вне форума Ответить с цитированием
Старый 12.03.2011, 21:25   #5
_KUL
Пользователь
 
Регистрация: 12.03.2011
Сообщений: 96
По умолчанию

Хм ... интересно ... а можно пример кода? Пошёл гуглить ...
_KUL вне форума Ответить с цитированием
Старый 12.03.2011, 21:52   #6
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Пример кода чего? exe в ресурсы запихиваете тип RCDATA и извлекаете, извлечённый файл через CreateProcess запускаете.. Про запуск из памяти гуглите..
Человек_Борща вне форума Ответить с цитированием
Старый 14.03.2011, 09:50   #7
_KUL
Пользователь
 
Регистрация: 12.03.2011
Сообщений: 96
По умолчанию

Глупый вопрос - а через какой компонент хранить exe ресурс? Или я не о том ...
_KUL вне форума Ответить с цитированием
Старый 14.03.2011, 10:00   #8
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

Хранение ресурсов (WAV, MP3, ...) внутри EXE
принцип поимете
http://demi-s.narod.ru/resources/008.html
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 14.03.2011, 10:20   #9
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

если в кратце то
засунуть в ресурс можно с помощью утилиты brcc (находится в папке bin делфи)
в блокноте пишите
MyEXE EXEFILE myexe.exe и сохраняете с расширение *.rc
а потом с командной строки запускаете brcc c параметром вашего rc файла
и он вам компилит файл ресурсов
SERG1980 вне форума Ответить с цитированием
Старый 14.03.2011, 10:52   #10
_KUL
Пользователь
 
Регистрация: 12.03.2011
Сообщений: 96
По умолчанию

ArtGrek, SERG1980, спасибо, понял!
Скомпилировал, получается теперь у меня в exe файле лежит другой exe (для примера взял calc.exe). А как теперь его вызвать на запуск? Что бы например сделать так - WinExec('запускаем calc.exe из программы на делфе',SW_SHOWNORMAL) ? Желательно не извлекая в каталог, а сразу запустить?
_KUL вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как 'засунуть' звуковой файл в EXE-шник.чтоб моя прога состояла всего из одного exe betirsolt Общие вопросы Delphi 11 18.04.2010 21:58
Из программы 1.exe создаем пустой файл 2.exe. Как из программы 1 внести API функции в программу 2? X-LEV-X Общие вопросы Delphi 7 09.03.2010 08:33
Как поместить программу в автозагрузку }{oт@бь)ч Компоненты Delphi 13 09.02.2009 03:58
как поместить программу в автозапуск? Alar Общие вопросы Delphi 11 20.12.2007 23:31
Как запустить из Delphi exe файл Makxim Общие вопросы Delphi 11 16.10.2007 18:06