Главная страница
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.043 c
4-1103542919
Harry_Ts
2004-12-20 14:41
2005.03.06
Дисковые процедуры низкого уровня в Delphi


1-1108975828
КаПиБаРа
2005-02-21 11:50
2005.03.06
Создание экземпляров объектов и работа с ними в потоке


1-1108822344
Ivolg
2005-02-19 17:12
2005.03.06
Глюк с MediaPlayer


3-1107877128
alsov
2005-02-08 18:38
2005.03.06
Помогите поставить клиента Oracle 10


14-1108290333
Луарвик
2005-02-13 13:25
2005.03.06
SQLConnection и не только