Текущий архив: 2005.03.06;
Скачать: CL | DM;
Вниз
Получение иконки приложения Найти похожие ветки
← →
tradakad (2004-12-16 10:01) [0]Здравствуйте! как получить иконку приложения зная его хендл и текст?
← →
DVM © (2004-12-16 10:22) [1]Наверное имелось ввиду иконку окна?
WM_GETICON
← →
tradakad (2004-12-16 14:27) [2]Ну да Ж) не так просто сказал. щас попробую.
← →
alpet (2005-01-17 11:45) [3]Не все приложения грамотно отрабатывают это сообщения. Если запрос идет к "повисшему" приложению, заодно вешается и программа его отправляющая :-(
← →
alpet (2005-01-17 13:11) [4]Лучше все наверное пользовать GetClassLong (hwnd, GCL_HICON). Хотя это не дает различие малых/больших иконок.
← →
alpet (2005-01-17 13:13) [5]Впрочем дает, для маленьких иконок надо использовать GCL_HICONSM
← →
tradakad © (2005-01-17 14:18) [6]2 alpet
да. согласен.
когда то Игорь Шевченко подсказал
function TfMain.HSGetWindowIcon (WindowHandle: HWND): THandle;
begin
if SendMessageTimeOut(WindowHandle, WM_GETICON, ICON_SMALL, 0,
SMTO_NORMAL, 300, Result) = 0 then
Result := 0;
if Result = 0 then
Result := GetClassLong(WindowHandle, GCL_HICONSM);
end;
← →
alpet (2005-01-18 10:59) [7]Есть проги у которых нельзя узнать иконку и этим способом.
В этом случае можно ExtractIconEx, которую надо экспортировать из shell32.dll. На вход ей надо имя файла которое проще всего узнать через функции ToolHlp32, через поиск процесса которому пренадлежит исходное окно.
← →
DVM © (2005-01-18 17:50) [8]
> Есть проги у которых нельзя узнать иконку и этим способом.
если у окна пограммы есть иконка и это стандартный заголовок иконку можно вытащить всегда.
← →
DVM © (2005-01-18 17:52) [9]вот тут я писал как
http://delphimaster.net/view/4-1103179556/
← →
tradakad © (2005-01-18 18:00) [10]Я пробовал - у опреры например иконка не вытягивается. и еще что тоже не велось на эту функцию...
← →
DVM © (2005-01-19 10:03) [11]
> у опреры например иконка не вытягивается
С оперой все нормально. Со всеми ее версиями. Что-то ты вероятно не так делал.
← →
DeadMeat © (2005-01-19 21:24) [12]Opera хитрая фтука. Как и эксплорер... Но функция от DVM работает на всех... Проверено не раз. Смотри баг у себя..
---
...Death Is Only The Begining...
Страницы: 1 вся ветка
Текущий архив: 2005.03.06;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.043 c