Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запаковать в exe ресурсы 
:(
    Опции темы
Podarochek
Дата 9.5.2008, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 2.11.2007

Репутация: нет
Всего: нет



подскажите пожалуйста, каким образом (если ето вообще возможно) можно "запаковать"  в исполнительный файл ресурсы которые используются в программе например рис. или файлы текстовые.
PM MAIL   Вверх
JackYF
Дата 9.5.2008, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: нет
Всего: 162



Podarochek, темы такие в виндовый раздел, пожалуйста.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Podarochek
Дата 9.5.2008, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 2.11.2007

Репутация: нет
Всего: нет



как теперь эту тему туда перебросить, помогите уважаемые модераторы smile 
PM MAIL   Вверх
T0ohtik
Дата 9.5.2008, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 9.2.2008

Репутация: нет
Всего: 1



Есть такая программа называется ResHack. Или тебе надо написать аналог её?
PM MAIL   Вверх
Podarochek
Дата 9.5.2008, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 2.11.2007

Репутация: нет
Всего: нет



нет, не написать. например, есть программы, которые предствлены одним exe, но рисунки например в этой проге тоже есть. каким образом написав программу с такими ресурсами запихнуть все в один exe
PM MAIL   Вверх
T0ohtik
Дата 10.5.2008, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 9.2.2008

Репутация: нет
Всего: 1



Ну да эту тему надо в WinApi или MFC. А вообще тебе надо прочитать Петзольда "Программирование для Windows95" т1. ч3 "Использование ресурсов"
PM MAIL   Вверх
bsa
Дата 11.5.2008, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 1
Всего: 196



Podarochek, упаковкой ресурсов в исполняемый файл или динамическую библиотеку производит линковщик (tlink.exe, например, у borland) на этапе линковки, если не ошибаюсь. В качестве ресурсов ему надо подсунуть скомпилированный ресурсный файл (*.res), который создается из текстового ресурсного файла (*.rc) компилятором ресурсов.
PM   Вверх
Uliana
Дата 23.5.2008, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 13.5.2008

Репутация: нет
Всего: нет



Вот я недавно делала єто так:

только мене надо было изменить VERSION_INFO

Код


hExe = LoadLibrary( "mod1.exe" ); //модуль с которого ты береш ресурс
            if ( hExe == NULL )
            {
                MessageBox( hDlgChange, _T("Could not load exe.!"),
                            _T("Error"), MB_OK );
                        return FALSE;
            }
hRes = FindResource( hExe, MAKEINTRESOURCE(VS_VERSION_INFO), RT_VERSION );//
        if ( hRes == NULL )
        {
            MessageBox( hDlgChange, _T("Could not find resource.!"),
            _T("Error"), MB_OK );
            return FALSE;
        }
hResLoad = LoadResource( hExe, hRes );
        if ( hResLoad == NULL )
        {
            MessageBox( hDlgChange, _T("Could not load resource.!"),
            _T("Error"), MB_OK );
            return FALSE;
        }
lpResLock = LockResource( hResLoad );
    if ( lpResLock == NULL )
        {
            MessageBox( hDlgChange, _T("Could not lock.!"),
            _T("Error"), MB_OK );
            return FALSE;
        }
hUpdateRes = BeginUpdateResource( "mod2.exe", FALSE ); //а это тот, где надо изменить
    if ( hUpdateRes == NULL )
        {
            MessageBox( hDlgChange, _T("Could not be update!"),
            _T("Error"), MB_OK );
            return FALSE;
        }

result = UpdateResource( hUpdateRes,            // update resource handle 
    RT_VERSION,                                    // change version resource 
    MAKEINTRESOURCE(VS_VERSION_INFO),            // version name 
    MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL),    // neutral language
    lpResLock,                                    // ptr to resource info 
    SizeofResource(hExe, hRes));                // size of resource info. 
if ( result == FALSE )
    {
        MessageBox( hDlgChange, _T("Could not update resource!"),
        _T("Error"), MB_OK );
        return FALSE;
    }
            
if (!EndUpdateResource(hUpdateRes, FALSE))
    {
        MessageBox( hDlgChange, _T("Could not write changes to file!"),
        _T("Error"), MB_OK );
        return FALSE;
    }
if (!FreeLibrary(hExe))
    {
        MessageBox( hDlgChange, _T("Could not free executable!"),
        _T("Error"), MB_OK );
        return FALSE;
    }


      

Это сообщение отредактировал(а) Uliana - 23.5.2008, 23:46
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0575 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.