|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.12.2020, 20:05 | #1 |
Пользователь
Регистрация: 04.09.2018
Сообщений: 16
|
Эмуляция клика мыши по координатам
Есть програма для видеорегистратора iVMS-4200, написана на QT5.
Отказывается принимать сообщения от сторонних приложений. Комбинации вроде Код:
Вообще реально ли програмно достучаться до нее, тоесть добиться реагирования на сообщения мыши с нажатием кнопок? Используется Делфи 10.3; Виндовс 10х64. |
26.12.2020, 22:47 | #2 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,646
|
Если через SendInput попробовать?
E-Mail: arigato.freelance@gmail.com
|
27.12.2020, 12:45 | #3 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
Если на мышь нет реакции,
то можно вычислив ID-кнопки послать ей сообщение "Enter" от клавиатуры. А вообще, если мышиный курсор дёргает, то и кликать должен - см. SendInput(), RawInput(), PostMessage().
Нашедшего выход - затаптывают первым..
|
27.12.2020, 13:31 | #4 | |
Пользователь
Регистрация: 04.09.2018
Сообщений: 16
|
Цитата:
PostMessage(), SendMessage(), SendInput(), не работают. Код:
Курсор переводится ОС, и к отправке внутренних комманд чужой програме никакого отношения не имеет, поэтому курсор перемещается, а вот клики мышки не работают. По поводу клавиатуры. Вариант не рассматривал, поскольку ориентировался на то, что програма написана на QT5, и там вроде как используются свои внутренние обработчики устройств, потому и сообщения идущие со стороны через дескрипторы или еще каким-то способом игнорируются. |
|
27.12.2020, 13:42 | #5 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
В окне программы вообще есть какие-нибудь буттоны?
Это виндовое приложение? На каком именно элементе нужно кликнуть мышью?
Нашедшего выход - затаптывают первым..
Последний раз редактировалось R71MT; 27.12.2020 в 13:45. |
27.12.2020, 14:02 | #6 |
Пользователь
Регистрация: 04.09.2018
Сообщений: 16
|
Клики нужны в местах обозначенных стрелочками на картинке. В первом посте указывал виндовс 10.
|
27.12.2020, 15:08 | #7 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
Сам регистратор подключён сейчас?
Просто встречал, что функции подобного софта активируются при подключении девайса. А так, попробуй найти эти элементы оконными хуками и послать им сообщения - прожка в скрепке может это делать.
Нашедшего выход - затаптывают первым..
|
28.12.2020, 00:43 | #8 |
Пользователь
Регистрация: 04.09.2018
Сообщений: 16
|
Как то хитро сделана программа. Рабочая область у нее разделена на фреймы: левая панель, центральная, правая, нижняя и пару верхних.
Максимум что смог сделать - это получить хендл фрейма, а что находится внутри фрейма анализатор не отображает, он не понимает как обращаться к элементам внутри фрейма, просто их не видит. На все отправленные сообщения фреймы не реагируют. Последний раз редактировалось Astrola; 28.12.2020 в 00:45. |
29.12.2020, 23:58 | #9 |
Участник клуба
Регистрация: 17.05.2011
Сообщений: 1,660
|
Потому что не так. Если указывать координаты в Mouse_Event, то с MOUSEEVENTF_ABSOLUTE и переводить в абсолютные.
Если вначале поставить мышку в нужную точку, то координаты уже не надо Код:
|
30.12.2020, 10:38 | #10 | |
Пользователь
Регистрация: 04.09.2018
Сообщений: 16
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Эмуляция клика в EmbeddedWB1 | aesoem | Общие вопросы Delphi | 2 | 20.02.2012 15:22 |
Эмуляция клика мыши в чужом окне | MyIE | Win Api | 16 | 06.10.2011 23:26 |
Эмуляция клика в заданном месте экрана | Faydaen | Помощь студентам | 3 | 27.09.2011 09:01 |
Эмуляция клика мыши в C# | GApe | Общие вопросы C/C++ | 0 | 04.05.2010 20:40 |
Эмуляция клика мыши | Stimer | Win Api | 1 | 05.02.2009 04:06 |