![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Экстракт иконки [D7, WinXP]
Grinder © (2004-01-08 14:55:00)
Мастера. Скажите.
Вот код.
ExtractIconEx(PChar(progpath),0,a,tr,1);
Т.е. вытаскиваем из экзешника иконки.
У меня эта штука стоит на таймере. Т.е. через определенный момент времени этот код повторяется. Но есть проблема.
на 4934 повторении и далее постоянно tr обращается в 0. Почему? Ведь иконка существует и на повторениях до 4934 нормально берется ее handle.
Может кто скажет ответ? А то я в тупике.
Вот лог программы
[08.01.2004 13:41:05] - Cannot show tray icon. 4934
[08.01.2004 13:42:13] - Cannot show tray icon. 4934
[08.01.2004 13:43:20] - Cannot show tray icon. 4934
4934 - это значение счетчика на момент терминейта. Счетчик идет от 0.
procedure Tsystensfame.iconupdaterTimer(Sender: TObject);
var
a,tr:HIcon;
i:integer;
begin
i:=iconupdater.Tag;
iconupdater.Tag:=iconupdater.Tag+1;
ExtractIconEx(PChar(progpath),0,a,tr,1);
if tr<>0 then
tray.Icon.Handle:=tr
else
begin
Log("Cannot show tray icon. "+IntToStr(i));
Application.Terminate;
end;
tray.Refresh;
end;
В проге искользуется компонент TCoolTrayIcon (но он тут ни при чем вроде, т.к. ошибка на ExtractIconEx).
Спасибо.
Grinder (2004-01-08 18:06:00) [1]
а спасибо
я про переменную a совсем забыл.
Grinder (2004-01-08 17:44:00) [2]
Спасибо. Но где он тут нужен?
BiN (2004-01-08 15:29:00) [3]а где DestroyIcon !!!!!!!@#$#$@#@%$#%$(&&)%&