Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.06;
Скачать: CL | DM;

Вниз

Иконки   Найти похожие ветки 

 
goliath ©   (2004-01-22 10:52) [0]

Подскажите пожалуйста как программно вытащить иконки из icl, dll, exe и т.п? Как определить кол-во иконок в библиотеке? Как вообще можно определить факт присутствия иконок в файле?

Заранее спасибо


 
YuRock ©   (2004-01-22 10:58) [1]

Так, например:


procedure SaveIconToFile(hI: HICON; cName: String);
var
Icon: TIcon;
begin
try
Icon := TIcon.Create;
Icon.Handle := hI;
Icon.SaveToFile(cName);
Icon.Free;
except
end;
end;

procedure ExtractIconFromFile(cFile: String);
var
hI: HICON;
i: Integer;
begin
hI := ExtractIcon(hInstance, LPSTR(cFile), 0);
i := 0;
while hI > 1 do begin
SaveIconToFile(hI, cFile + ".ico");
i := i + 1;
hI := ExtractIcon(hInstance, LPSTR(cFile), i);
end;
end;


 
icWasya ©   (2004-01-22 12:37) [2]

получение количества иконок

hI := ExtractIcon(hInstance, LPSTR(cFile), -1);


 
goliath ©   (2004-01-22 13:40) [3]

Спасибо


 
goliath ©   (2004-01-22 13:59) [4]

Да, и еще два маленьких вопроса...
В одноq иконке может быть в нескольких разрешениях; как с этим дружить или бороться. И как можно затолкать иконку обратно в библиотеку.

Заранее спасибо


 
YuRock ©   (2004-01-22 14:24) [5]

1. Лучше дружить.

2. А Вы что, их оттуда вытолкнули?



Страницы: 1 вся ветка

Текущий архив: 2004.02.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.04 c
1-16246
Stas
2004-01-26 16:12
2004.02.06
DLL


1-16297
Slash_from_Ryazan
2004-01-26 02:27
2004.02.06
Как запретить пользователю закрыть программу.


6-16569
Ign
2003-11-03 14:55
2004.02.06
Использование TUdpSocket


7-16762
extrasens
2003-11-18 07:59
2004.02.06
Резидентные программы в DOS-e


3-16163
СержК
2004-01-14 14:20
2004.02.06
Размер БД