DVD |
Отправлено: 24.05.2003, 16:46 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 33
|
Как загрузить из ресурса что-либо и сохранить это что-либо на диск. Скажем, если это не картинка, а exe файл или еще что? |
|
Admin |
Отправлено: 24.05.2003, 17:19 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
Ответ был в старом форуме здесь.
Повторим:
Создаем в текстовом редакторе (например "Блокноте") текстовый файл
в который пишем Имя ресурса | Тип ресурса | Имя программы, то есть, например:
myEXESource EXEFILE ntp.exe
сохраняем этот файл с расширением .rc и присоеденяем к нашему проекту
(Project->Add To Project и указываем имя нашего .rc файла)
Далее, в программе извлекаем из ресурса, сохраняем на диске, запускаем
CODE |
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char *Resu = "EXEFILE";
TResourceStream* Res = new TResourceStream((int)HInstance, "myEXESource", Resu);
Res->SaveToFile("cmp.exe"); // сохраняем на диск
delete Res;
// а можем и запустить
ShellExecute(Handle,"open","cmp.exe",NULL,NULL,SW_SHOWNORMAL);
}
|
|
|
DVD |
Отправлено: 25.05.2003, 07:05 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 33
|
Понятно, а как то же самое сделать функциями WinApi? |
|
Dr.Phoenix |
Отправлено: 26.05.2003, 14:27 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 48
|
а нафига писать что-то в блокноте, если можно в Project->resources кликнуть правой кнопкой, выбрть New->User Data, и билдер сам засунет файло в ресурс без блокнота.
и еще: а если это ехе, то можно ли его запустить из проги не записывая на диск?
Отредактировано Dr.Phoenix — 26 May 2003, 14:30
|
|
DVD |
Отправлено: 01.06.2003, 12:33 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 33
|
Есть у кого-нибудь пример, как загрузить из ресурса диалог с одной кнопкой, при нажатии на которую диалог бы закрывался? Можно, чтобы он был основным окном приложения. |
|