Добавить картинку в ресурсы ехе

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by ShkiperLol, 11 May 2011.

  1. ShkiperLol

    ShkiperLol Banned

    Joined:
    17 Apr 2010
    Messages:
    182
    Likes Received:
    1
    Reputations:
    0
    Подскажите как добавить бинарный файл в ресурсы ехе уже после компиляции.На примере jpeg файла.
    Собственно проблемы с UpdateResource

    BYTE image;
    HANDLE res=BeginUpdateResource("d:\\1.exe",false);
    UpdateResourceA(res,"ResType","ResName",0,&image,sizeof(image));
    EndUpdateResourceA(res,false);

    подскажите как в image записать полностью hex код картинки?Ведь размер картинки может быть намного больше чем максимальный размер переменной,для этого прийдеться в переменную писать картинку частями,но как тогда с UpdateResource работать?
     
  2. patcher

    patcher Banned

    Joined:
    15 Dec 2009
    Messages:
    190
    Likes Received:
    37
    Reputations:
    10
    Вот тут я выложил процедуру замены ресурсов (на 2 странице) /threadnav242262-2-10.html
     
    1 person likes this.
  3. ShkiperLol

    ShkiperLol Banned

    Joined:
    17 Apr 2010
    Messages:
    182
    Likes Received:
    1
    Reputations:
    0
    Блин,ну точно,файловый поток нада заюзать,как я не догадался(((((
    patcher спасибо большое!
     
  4. ShkiperLol

    ShkiperLol Banned

    Joined:
    17 Apr 2010
    Messages:
    182
    Likes Received:
    1
    Reputations:
    0
    patcher ваш способ отлично работает.Но теперь появилась другая проблема.После записи картинки в ресурсы,через редактор ресурсов она теперь не отображаеться,показуеться только ее hex код.


    Так что можете помочь?Данный код мне нужен для того чтобы изменить иконку ехе.
    Разбирать директорию ресурсов ручками,ох как нехочеться.Поетому вся надежда на UpdateResource
     
    #4 ShkiperLol, 11 May 2011
    Last edited: 11 May 2011
  5. noxjoker

    noxjoker Member

    Joined:
    7 Aug 2009
    Messages:
    189
    Likes Received:
    24
    Reputations:
    0
    Тоже интересует этот вопрос!
     
  6. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    ну дык смотря что меняешь. показывай код полностью. А то хрен тебя знает, может ты меняешь bitmap а не icon group
     
  7. ShkiperLol

    ShkiperLol Banned

    Joined:
    17 Apr 2010
    Messages:
    182
    Likes Received:
    1
    Reputations:
    0
    Меняю иконку,данный код какраз ее и перезаписывает,правда неуспешно,иконка пропадает вобще.
     
    #7 ShkiperLol, 11 May 2011
    Last edited: 11 May 2011
  8. ShkiperLol

    ShkiperLol Banned

    Joined:
    17 Apr 2010
    Messages:
    182
    Likes Received:
    1
    Reputations:
    0
    Ну так что скажете?
     
    #8 ShkiperLol, 12 May 2011
    Last edited: 14 May 2011
  9. ShkiperLol

    ShkiperLol Banned

    Joined:
    17 Apr 2010
    Messages:
    182
    Likes Received:
    1
    Reputations:
    0
    Проблема так и не решена.
     
  10. patcher

    patcher Banned

    Joined:
    15 Dec 2009
    Messages:
    190
    Likes Received:
    37
    Reputations:
    10
    Вот тут есть рабочий код для замены иконки на Delphi http://forum.xakep.ru/m_1585177/mpage_1/key_/tm.htm#1585177. Нужно только заменить строку
    Code:
    hUpdateRes:=BeginUpdateResource(PChar(FileName), [B]True[/B]);
    на
    Code:
    hUpdateRes:=BeginUpdateResource(PChar(FileName), [B]False[/B]);
    иначе все остальные ресурсы удаляются.

    если нужно применить на Сях, то либо разбирайся и переписывай либо держи скомпиленый ДЛЛ