![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| NewbieNoob |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 30.10.2011 Репутация: нет Всего: нет |
Происходит событие клика по форме, а не по кнопке(а еит вводятся координаты кнопки), фокус на кнопку не переносится. При этом я ловил OnMouseDown и Up на форме, координаты совпадали с передаваемыми, переносил курсор на координаты клика - он вставал над кнопкой, руками тыкал клик, кнопка срабатывала, в чем может быть ошибка? |
|||
|
||||
| jhonyxakep |
|
|||
![]() Divide Et Impera ![]() ![]() Профиль Группа: Участник Сообщений: 983 Регистрация: 7.4.2009 Где: Что, Когда? Репутация: нет Всего: 8 |
||||
|
||||
| NewbieNoob |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 30.10.2011 Репутация: нет Всего: нет |
мм, ну по идее, клик должен быть в окне, но не по самому окну, а по элементу. Когда программа будет готова, хэндл элемента получить не получится, надо отправлять сообщение о клике в окно, как будто пользователь кликнул.
h:=FindWindow(nil,'prog') - пробовал получать хэндл приложения, но тоже не получается |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
NewbieNoob, твоя кнопка тоже окно. у неё свой хендл. это значит отправляй сообщение кнопке а не форме. что не понятно?
-------------------- Обижено школьников: 8 |
|||
|
||||
| NewbieNoob |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 30.10.2011 Репутация: нет Всего: нет |
А все прочитать сложно? Не будет потом хэндла кнопки, это сейчас, для тестов... Если через sendmessage вобще не получится, так и скажите.
|
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
NewbieNoob, разговаривай ровнее.
Если кнопка останется кнопкой (TButton), то хендл у неё будет. Найти его можно например с помощью ChildWindowFromPoint. Не будет хендла только в случае если кнопка не наследуется от TWinControl (например TSpeedButton) -------------------- Обижено школьников: 8 |
|||
|
||||
| NewbieNoob |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 30.10.2011 Репутация: нет Всего: нет |
Извиняюсь.
А еще хэндла не будет если программа рассчитана на универсальную работу с любым приложением. Проблема именно в том, что нужно эмулировать клик только по координатам. Скорее всего, этими средствами так сделать не получится, но, наверное, можно на более низком уровне добиться желаемого? |
|||
|
||||
| northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
Если не будет хэндла, то по "чему" кликать-то будем? Если приложение "оконное", то хэндл будет обязательно, куда ж без него? А если не оконное, то при чём тут SendMessage? Так что "универсальная работа с любым приложением" - это, имхо, фантастика. Наверно можно. Подменив драйвер мыши. Но вот нужно ли? -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
-------------------- Обижено школьников: 8 |
|||
|
||||
| northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
Он хочет работать без хэндлов! Ну т.е. никаких! Значит и окон не предвидится. О чём тогда мы говорим, и что ему советовать? Он хочет "кликать по координатам". Ну так бог ему в помощь, если учебники он не читал. -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
тогда мы советуем использовать SendInput и просим выложить видеозапись попыток реализации -------------------- Обижено школьников: 8 |
|||
|
||||
| northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
Вот насчёт видеозаписи, это ты хорошо сказал. -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |