Работа с Handle_ами. Помогите

  • Автор темы MURDERER
  • Дата начала
M

MURDERER

#1
Как можно извлечь цвет пикселя из определенной точки, зная только Хэндл окна?

В проге ищется конкретное окно и при условии, что оно найдено, возвращает его Хэндл(Handle). Мне нужно извлечь область точек(считать у них цвет). Напишите мне функцию извлечения цвета пикселя по Хэндлу! Плиз!!!

Помогите, если кто знает. Очень поможете!
 
M

MURDERER

#2
В этой проге есть компонент типа TEdit, в него вводится определенный код(набор цифр) и после жмется Enter для его подтверждения. Прога - не моя, поэтому у меня нет исходников.

Вот пример окошка :


Как мне на TEdit программно нажать Enter, зная его Хэндл(Handle)?

Кто знает - отпишитесь! Очень поможете! :)

Заранее спасибо! :)
 
M

MURDERER

#4
Как можно извлечь цвет пикселя из определенной точки, зная только Хэндл окна?

В проге ищется конкретное окно и при условии, что оно найдено, возвращает его Хэндл(Handle). Мне нужно извлечь область точек(считать у них цвет). Напишите мне функцию извлечения цвета пикселя по Хэндлу! Плиз!!!

Помогите, если кто знает. Очень поможете!
Сам отвечаю на свой вопрос! :)

Вобщем разобрался я с этой проблемкой! :cool:
И выкладываю кусочек кода для тех, кто в дальнейшем сталкнется с ней:

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), но делает свое дело! :cool:

В этот архив вложил утилиту WS32.exe - тоже самое, менее удобная но больше функций. Думаю сами разберетесь, тож полезная штука!


http://letitbit.net/download/b84070448284/...Handls.rar.html