|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Чужое окна, 2 вопроса
Не могу найти список всех окон. Мне нужно найти все окна "О программе" программы блокнот. Их около 10 шт.
Ищу так. Код:
Wd1:=FindWindow(nil, 'О программе'); // Найдем первое окно верхнего уровня любого класса for i:=1 to 1500 do // Если такое окно существует Begin SetLength(s, SendMessage(wd1, WM_GETTEXTLENGTH, 0, 0)+1); SendMessage(wd1, WM_GETTEXT, length(s), Integer(PChar(s))); SetLength(s, lStrLen(PChar(s))); if s='О программе' then begin if (GetWindowRect(wd1,Rect) = true) and (rect.Left>(200)) then begin Мучаем окно end; В чужом окне есть картинка в image, как зная хэндл окна вытащить её? |
#2
|
||||
|
||||
вот написал пример программы, которая показывает заголовки всех доступных окон (и скрытых, если поставить галку на "Hidden").
|
#3
|
|||
|
|||
Спасибо. Щас посмотрю.
|
#4
|
|||
|
|||
Алгоритм как я понял такой:
Берем хэндл своего окна и крутим цикл пока не будет хэндл равен 0. Щас буду тестить. Я уже видел такой пример, но не смог запустить. Ругался на handle. Еще как назло у меня массив так назывался. потом понял что имелось виду form1.handle; Опять моя невнимательность. Karsh Большое спасибо! |