Как можно извлечь цвет пикселя из определенной точки, зная только Хэндл окна?
В проге ищется конкретное окно и при условии, что оно найдено, возвращает его Хэндл(Handle). Мне нужно извлечь область точек(считать у них цвет). Напишите мне функцию извлечения цвета пикселя по Хэндлу! Плиз!!!
Помогите, если кто знает. Очень поможете!
Сам отвечаю на свой вопрос!
Вобщем разобрался я с этой проблемкой!
И выкладываю кусочек кода для тех, кто в дальнейшем сталкнется с ней:
Captcha:=FindWindow('TFCaptcha','Капча);
DC:=GetDC(Captcha);
c:=GetPixel(DC,1,1);
Rectangle(DC,1,1,16,16)
image1.Canvas.Pixels[1,1]:=c;
ReleaseDC(Captcha,DC);
*******************************************************
DC:HDC;
Captcha:Hwnd;
Captcha:=FindWindow('TFCaptcha','Капча); - Искомое окно с заголовком "Капча" и классом "TFCaptcha".
DC:=GetDC(Captcha); - Получение контекста окна для работы с рисованием. Получив его можно рисовать где угодно и на любом компоненте будь даже он TEdit!

Контекст рабочего стола - 0, вместо Captcha подставляете 0. Будет рисовать поверх всего!
c:=GetPixel(DC,1,1); - Здесь я извлекаю цвет пикселя из точки [1,1], контекста окна DC.
Rectangle(DC,1,1,16,16) - Тут я рисую на своем окошке прямоугольничек. Можно взять любую функцию рисования в компоненте TImage.
image1.Canvas.Pixels[1,1]:=c; - Тут мы рисуем на компоненте TImage своей программы извлеченный цвет пикселя.
ReleaseDC(Captcha,DC); - После рисования освобождаем больше ненужный контекст рисования через данную функцию.
Для получения класса, заголовка, дескриптора окна и дескриптора меню любого окна в Windows - выкладываю свою прогу с исходниками. Она немного не доработанная(единственная недоработка - не работает ComboBox), но делает свое дело!
В этот архив вложил утилиту WS32.exe - тоже самое, менее удобная но больше функций. Думаю сами разберетесь, тож полезная штука!
Ссылка скрыта от гостей