![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WM_GETICON [D6, Win95/98, WinXP]
Alien © (2004-01-11 16:25:00)Подскажите в чем проблема: хотел брать иконки с окон и приложений, а данный код работает, он уж очень глючно - иконки берутся только 1-й раз, потом нет; на 2-й иконки исчезают с самих окон; на n-й винда виснет(98).
var Icon:TIcon;
h:HWnd;
begin
h:=GetDesktopWindow;
Icon:=TIcon.Create;
Icon.Handle:=SendMessage(h,WM_GETICON,ICON_BIG,0);
...
Icon.Free;
end;
Wizard_Ex (2004-01-12 17:00:00) [1]или перед Icon.Free напиши Icon.ReleaseHandle;
//посмотри в справке
Alien (2004-01-11 17:15:00) [2]Огромное спасибо, извиняюсь за ламерство...
DVM (2004-01-11 17:01:00) [3]var Icon:TIcon;
h:HWnd;
begin
h:=GetDesktopWindow;
Icon:=TIcon.Create;
Icon.Handle:=CopyIcon(SendMessage(h,WM_GETICON,ICON_BIG,0));
...
Icon.Free;
end;
Alien (2004-01-11 17:00:00) [4]КАК??? Разве я не копирую? КАК???
DVM (2004-01-11 16:41:00) [5]
> Icon.Free;
Зачем иконки чужик окон уничтожаешь? В 2000/xp против таких действий встроена защита, в 98 ТАК НЕ НАДО ДЕЛАТЬ. Иконку надо копировать себе, а потом делать что хочешь.