|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.04.2011, 20:45 | #1 |
Новичок
Джуниор
Регистрация: 11.04.2011
Сообщений: 1
|
Открытие файла, предварительно загруженного в файл ресурсов Win32 приложения
добрый день уважаемые программисты!
у меня такая задача: имеем: — Win32 приложение на c++(vc++2008 Express); — произвольный файл любого типа(.exe, .avi и т.д.(ресурсы, определяемые программистом)), загруженный в файл ресурсов(.rc); — во время выполнения приложения мы из файла ресурсов получаем указатель на первый байт искомого файла с помощью функций FindResource(), LoadResource(), LockResource(); задача: — хороший вариант — открыть файл(или запустить на выполнение) прямо из файла ресурсов; — не хороший, но вариант — создать на винте файл с нужным расширением и скопировать в него блок данных из файла ресурсов; мысли вслух: — возможно ли присвоить строковое имя неименованному блоку данных(мы имеем указатель на первый байт этих данных)? тогда можно было бы просто открыть файл прямо из файла ресурсов с помощью ShellExecute(); — может быть есть какая-нибудь функция типа ShellExecute(), но принимающая в качестве параметра не строковый адресс файла, а его фактический адрес в памяти? — скопировать файл на диск у меня тоже не получилось, т.к. файловому потоку(ifstream) тоже нужен строковый адрес файла, а копировать по байтам, так я не знаю ни точного размера, ни значения последнего байта; кто что может посоветовать? заранее благодарен. |
16.04.2011, 21:54 | #2 | |||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
Цитата:
2)открывайте ресурс(как вы знаете) 3)используя SizeofResource получаем размер ресурса. 4)далее мы знаем адрес первого байта и размер ресурса. в итоге за один вызов WriteFile мы сохраняем ресурс в файл. 5)CloseHandle для закрытия файла 6)как запустить сами знаете. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Загрузка текстового файла из ресурсов | SolovejK | Общие вопросы Delphi | 1 | 22.05.2010 20:18 |
Редактирование файла ресурсов | Alex2009 | Общие вопросы Delphi | 4 | 02.07.2009 01:10 |
файл ресурсов | Rozalinda | Общие вопросы Delphi | 3 | 20.10.2008 20:31 |
Файл ресурсов | Stanislav | Общие вопросы Delphi | 11 | 21.11.2007 08:27 |