Сейчас на форуме: tyns777 (+5 невидимых)

 eXeL@B —› Программирование —› Работа с ресурсами, DELPHI
Посл.ответ Сообщение


Ранг: 247.7 (наставник), 3thx
Активность: 0.160
Статус: Участник
Халявщик

Создано: 14 января 2010 00:12 · Поправил: depler
· Личное сообщение · #1

Собсна понадобилось заменить один ресурс в EXE другим. Получилось пока так:

function ReplaceIcon: boolean;
var
hModule, hRes, hResLoad, hUpdateRes: LongWord;
lpResLock: Pointer;
q: pchar;
begin
hModule:=LoadLibrary('c:\1\calc.exe');

hRes := FindResource(hModule, MAKEINTRESOURCE(1), RT_ICON);
hResLoad := LoadResource(hModule, hRes);
lpResLock := LockResource(hResLoad);
hUpdateRes := BeginUpdateResource('c:\1\notepad.exe', false);

result:=
UpdateResource(hUpdateRes,RT_ICON, PAnsiChar(1), 0, lpResLock, SizeofResource(hModule, hRes));

EndUpdateResource(hUpdateRes, FALSE);
end;

Работает косячно ( Интересует вопрос как удалить вообще всю группу иконок (MAINICON которая) и заменить например одной своей?

hRes := FindResource(hModule, 'MAINICON ', RT_GROUP_ICON); - работать отказывается

-----
Лень - это подсознательная мудрость





Ранг: 67.4 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 14 января 2010 00:21
· Личное сообщение · #2

Посмотри атач

ab0b_13.01.2010_CRACKLAB.rU.tgz - acworkres.pas




Ранг: 247.7 (наставник), 3thx
Активность: 0.160
Статус: Участник
Халявщик

Создано: 14 января 2010 00:36
· Личное сообщение · #3

Спс, посмотрю. Тему пока не закрываю, может кто вариант попроще предложит

-----
Лень - это подсознательная мудрость




Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 14 января 2010 00:59
· Личное сообщение · #4

не оно?
www.delphiworld.narod.ru/base/save_and_load_resources.html




Ранг: 247.7 (наставник), 3thx
Активность: 0.160
Статус: Участник
Халявщик

Создано: 14 января 2010 14:09
· Личное сообщение · #5

Не совсем, там используются потоки, а это значит uses classes, что недопустимо

-----
Лень - это подсознательная мудрость





Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 08 апреля 2011 00:43 · Поправил: Isaev
· Личное сообщение · #6

Вопрос следующий:
В программах на Delphi какой параметр используется для доступа к объекту на форме?
Например
Code:
  1. 00452086   . /C1204500      DD Project1.004520C1
  2. 0045208A     |F8            DB F8
  3. 0045208B     |02            DB 02
  4. 0045208C     |00            DB 00
  5. 0045208D     |00            DB 00
  6. 0045208E     |00            DB 00
  7. 0045208F     |00            DB 00
  8. 00452090   . |06            DB 06
  9. 00452091   . |4C 61 62 65 6>ASCII "Label1"
  10. 00452097     |FC            DB FC
  11. 00452098     |02            DB 02
  12. 00452099     |00            DB 00
  13. 0045209A     |00            DB 00
  14. 0045209B     |01            DB 01
  15. 0045209C     |00            DB 00
  16. 0045209D   . |07            DB 07
  17. 0045209E   . |42 75 74 74 6>ASCII "Button1"

Что обозначают эти данные? Например сюда прописываются адреса обработчиков связанных с объектом вроде...
А при смене Caption у Label1 что-то из этого используется? Есть какой-нибудь ID может, который грузится в регистр, как при обращении к ресурсам...

95d0_15.04.2011_EXELAB.rU.tgz - Project1.exe

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh



 eXeL@B —› Программирование —› Работа с ресурсами, DELPHI
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати