Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.08 c
4-1106142658
Cosinus
2005-01-19 16:50
2005.03.06
Почему, если я сам посылаю системе WM_KEYDOWN и WM_KEYUP, то мой


14-1108267173
kaZaNoVa
2005-02-13 06:59
2005.03.06
Международные звонки


3-1107429115
Guest666
2005-02-03 14:11
2005.03.06
перемещение информации в BDE


1-1108613193
Laymer
2005-02-17 07:06
2005.03.06
Неубиваемый процес


14-1107967766
Pat
2005-02-09 19:49
2005.03.06
Повешанье люстры :) Нужен совет