Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как получить иконку окна? [D7, WinXP]


delphi-oracle ©   (2006-02-15 09:06:00) 

Как получить иконку чужой окна на WinAPI??? Как не пробовал, не получается...


Marser   (2006-02-16 11:03:00) [1]

Удалено модератором


Игорь Шевченко   (2006-02-16 10:50:00) [2]

delphi-oracle ©   (15.02.06 19:54) [3]
Marser ©   (15.02.06 20:28) [4]

Рулез надо чтить. Потру нафиг.


Marser   (2006-02-15 20:28:00) [3]

> delphi-oracle ©   (15.02.06 19:54)

Використання жодної мови, окрім російської, є небажаним на цьому форумі, тож раджу вам більше так не робити. Дивіться правила спілкування http://www.delphimaster.ru/forums.shtml#rule
> І яке мені щастячко з твого WM_GEtIcon?

В такому випадку дивляться Delphi Help. WM_GETICON - повідомлення Windows.


delphi-oracle   (2006-02-15 19:54:00) [4]

І яке мені щастячко з твого WM_GEtIcon? Або не знаю, як написати, або глючить? Іконка постійно стає пустою. EMPTY. І. Шевченко дякую. Глянем.


Игорь Шевченко   (2006-02-15 11:35:00) [5]

{Выдираем иконку всеми возможными средствами}
// Thanks to Игорь Шевченко
function GetIconFromWindow(hWnd:HWND):HICON;
var
Ico:HICON;
begin
Ico:=0;
SendMessageTimeout(hwnd, WM_GETICON, ICON_SMALL, 0, SMTO_ABORTIFHUNG, 1000, LongWord(ico));
if (ico = 0) then ico := GetClassLong(hwnd, GCL_HICONSM);
if (ico = 0) then SendMessageTimeout(hwnd, WM_GETICON, ICON_BIG, 0, SMTO_ABORTIFHUNG, 1000, LongWord(ico));
if (ico = 0) then ico := GetClassLong(hwnd, GCL_HICON);

{вот именно эта строка работает за всех, кто бы знал}
if (ico = 0) then SendMessageTimeout(hwnd, WM_QUERYDRAGICON, 0, 0, SMTO_ABORTIFHUNG, 1000, LongWord(ico));

if (ico = 0) then ico:=LoadIcon(0,IDI_APPLICATION);
Result:=Ico;
end;


begin...end   (2006-02-15 09:21:00) [6]

WM_GETICON


Наверх

Титульная страница Поиск, карта сайта Написать письмо