Главная страница
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.044 c
1-1108658058
cib225
2005-02-17 19:34
2005.03.06
открытие нескольких файлов с помощью моей проги


1-1108965730
Unknown
2005-02-21 09:02
2005.03.06
Возникло 3 вопроса:


3-1107363486
frEE)stylEr
2005-02-02 19:58
2005.03.06
Добавить индекс таблицы.


14-1107803550
Nic87
2005-02-07 22:12
2005.03.06
музыка NFS 5 Pirshe


14-1108337563
neXOR
2005-02-14 02:32
2005.03.06
Какую профессию выбрать ?