Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CopyIcon(GetClassLong(Wnd, GCL_HICONSM )) 
V
    Опции темы
Ak47black
  Дата 16.5.2007, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Здраствуйте.
Юзаю 
Код

CopyIcon(GetClassLong(Wnd, GCL_HICONSM ));

Что-бы получить Handle иконки окна.
Всебы хорошо но с некоторых окон этот код сдирает нету иконку.
Например если открыть окно MyComputer то он с этого окна сдерёт изображение папки.
Подскажите что тут можно сделать ?
PM MAIL   Вверх
Ak47black
Дата 16.5.2007, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Какие еше униресальные есть способы сдирания?
PM MAIL   Вверх
MetalFan
Дата 16.5.2007, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 16
Всего: 128



попробуй GCL_HICON вместо GCL_HICONSM
p.s. хотя врядли. у моего компутера у окна и так иконка папки с лупой...

Это сообщение отредактировал(а) MetalFan - 16.5.2007, 17:02


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Ak47black
Дата 16.5.2007, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Неа тоже самое.
Тут если открыть My Computer и от него содрать то разница сразу будет видна.
PM MAIL   Вверх
Ak47black
Дата 16.5.2007, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Ура нашол
Код

function WindowGetIcon(wnd:HWND; fSmall:boolean):Cardinal;
var
 defIcon:HICON;
 r,iType1,iType2: integer;
begin
    defIcon:=LoadIcon(0,IDI_APPLICATION);
    if fSmall then
    begin iType1:=ICON_SMALL2; iType2:= GCL_HICONSM; end else
    begin iType1:=ICON_BIG; iType2:= GCL_HICON; end;

   r:=SendMessageTimeOut(wnd,WM_GETICON,iType1,0,SMTO_ABORTIFHUNG or SMTO_NOTIMEOUTIFNOTHUNG, 100, result);
   if (r=0) then result:=defIcon else
   begin
    if (result=0) then  result:=GetClassLong(wnd,iType2);
    if (result=0) then  result:=defIcon
   end;
end;


Добавлено через 2 минуты и 16 секунд
Всетаки непонятно почему 
Код

GetClassLong

Криво работает, ну лан проблема решена.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0655 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.