Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Win32 API - Захват окна, пример - как в PicPick или FSCapture

Ответить
Настройки темы
Win32 API - Захват окна, пример - как в PicPick или FSCapture

Новый участник


Сообщения: 3
Благодарности: 1

Профиль | Отправить PM | Цитировать


Приветствую всех, имеется вопрос по части реализации захвата окна под указателем мышки, при этом чтоб окно выделялось по краям цветом. Пример: PicPick, FSCapture, Spy++ реализует захват окна.

Пробывал создавать прозрачное окно, для того чтоб рисовать на нем только выделения, и после сокрытия чтоб выделение пропадало (решилась проблема перерисовки). Но тут большой минус в том что сложно отловить нажатие левой кнопки, чтобы оно не прошло "насквозь" в чужое окно. И при этом еще задевало некоторые элементы которые "меняют свои свойства" при наведении на них мышкой.

Пробывал под курсор "запихивать" форму минимальных размеров 4х4 пикселя, чтоб избавиться от ненужного "меняют свои свойства" но так и не смог жестко прикрепить форму к курсору.

Посоветуйте, если кто сталкивался с подобной проблемой, подскажите пожалуйста как её решить. Примеры на любом ЯП, или хотя бы просто описание подобной реализации.

В FSCapture заметил что разворачивается на весь экран форма, на которой каким-то образом все и выделяется, но с подобной реализацией функция WindowFromPoint возвращает только мое окно.
В Spy++ окно не раскрывается, но при этом захвате левая мышка кнопки уже нажата в результате чего нет ненужных - "меняют свои свойства", но нажатая первоначально кнопка это лишнее.

Идеально было бы сделать с окном как в FSCapture.
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:12, 21-02-2010

 

Аватара для D@n1k007

Старожил


Сообщения: 181
Благодарности: 5

Профиль | Отправить PM | Цитировать


Отличный вопрос, присоединяюсь к автору! Если кто знает поделитесь инфой.

Отправлено: 20:23, 21-02-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 3
Благодарности: 1

Профиль | Отправить PM | Цитировать


Решил проблему через GetWindow & ChildWindowFromPointEx. Стало идентично как в FSCapture.

Всем спасибо за внимание.

Отправлено: 08:21, 22-02-2010 | #3

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Если "захватываемому" окну (которое на десктопе) сделать стиль WS_DISABLED, то скорее всего (зависит от реализации оконной процедуры) оно будет отрисовываться правильно, но сообщений ввода (в т.ч. мыши) получать не будет.

Отправлено: 23:41, 22-02-2010 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Win32 API - Захват окна, пример - как в PicPick или FSCapture

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Графика - [repack] PicPick _syd_ Наборы обновлений для Windows XP/2003/Windows 7 125 23-11-2023 22:41
PicPick 2.1.3 OSZone Software Новости программного обеспечения 0 09-11-2009 14:30
[решено] сокрытие окна, как только оно появилось или всплыло crashtuak AutoIt 7 30-07-2009 21:47
EventID - 0x0002b0d2 как пример, но бывают и другие коды. Abonent Устранение критических ошибок Windows 0 07-04-2008 20:19
Захват: FireWire или A/V DUBICH Видео и аудио: обработка и кодирование 2 15-03-2007 12:59




 
Переход