Форум: "Начинающим";
Текущий архив: 2011.12.18;
Скачать: [xml.tar.bz2];
ВнизЭмуляция работы мышки Найти похожие ветки
← →
Эцилоп (2011-09-07 22:45) [0]Поток сознания:
1) Можно ли кликать мышкой в окне (не делфи приложения, а стороннего), при этом чтобы курсор реальной мышки был доступен для пользователя. Т.е. например приложение сдвинуто за экран, в окне приложения эмулируются клики мышкой, а тем временем я могу делать мышкой чего угодно на рабочем столе и это не мешало бы работе эмулятора ) Если можно то как? )
2) Ну а также, по аналогии можно ли эмулировать движения мышкой в окне стороннего приложения, не двигая реально курсор мышки (чтобы приложению казалось, что мышка в нем ездит :D) и как?
2)а Если просто отдать команду Кликнуть в таких то координатах - курсор переместится мгновенно или курсор будет перемещен в эту точку, так если бы это делал пользователь? (Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, Pt.x, Pt.y, 0, 0);)
Либо для выполнения этой команды предварительно нужно переместить курсор в эти координаты? Тогда зачем в этой команде указывать координаты?
2) Есть ли возможность передавать координаты в которых нужно кликать относительно окна приложения(т.е. верхний угол экрана приложения есть 0,0), а не относительно угла экрана? Ну а также соотвественно получать координаты мыши, но не относительно начала координат экрана, а если начало координат считать от верхнего левого угла приложения. Опять же приложение в данном случае это какая то сторонняя программа, ну например калькулятор. Особенное значение это имеет, когда приложение задвинуто за экран, т.к. непонятно как там вообще тогда кликнуть, ведь кликать в координатах экрана уже не получится.
3) тут много говорится про некий "Хук", а вот что это такое и с чем его едят? если говорить о работе с мышью, т.к. вообще не пойму о чем речь)
Вообще было бы здорово если кто нибудь сварганил гайд по чудесам с мышкой в винде )
← →
Эцилоп (2011-09-07 22:50) [1]да, кстати имел дело со скриптами в которых были команды, которым можно было передавать координаты для клика относительно окна приложения, т.е. полагаю что такое возможно, но как это реализовать в делфи?
← →
DVM © (2011-09-07 23:11) [2]
> 1) Можно ли кликать мышкой в окне (не делфи приложения,
> а стороннего), при этом чтобы курсор реальной мышки был
> доступен для пользователя. Т.е. например приложение сдвинуто
> за экран, в окне приложения эмулируются клики мышкой, а
> тем временем я могу делать мышкой чего угодно на рабочем
> столе и это не мешало бы работе эмулятора ) Если можно то
> как? )
> 2) Ну а также, по аналогии можно ли эмулировать движения
> мышкой в окне стороннего приложения, не двигая реально курсор
> мышки (чтобы приложению казалось, что мышка в нем ездит
> :D) и как?
Кликнуть то можно и не трогая мышку, просто послав нужному окну нужное сообщение, но все дело в том, что внутри себя окно может вызывать нечто вроде GetCursorPos и начнет вести себя не так как надо.
← →
Эцилоп (2011-09-07 23:30) [3]хм, есть опасения, что супротив таких как я приложение может анализировать некоторые действия выполняемые мышкой. Т.е. получается если посылать клики через меседжи окну, то приложение будет скорей всего следить за реальным курсором? вот бы чего бы знать бы еще...
← →
DVM © (2011-09-08 00:11) [4]
> Т.е. получается если посылать клики через меседжи окну,
> то приложение будет скорей всего следить за реальным курсором?
>
99%, что там есть вызов функции определения положения указателя мыши. Перехват API вызовов тебе в руки.
← →
Эцилоп (2011-09-08 00:27) [5]
> 99%, что там есть вызов функции определения положения указателя
> мыши. Перехват API вызовов тебе в руки.
в руки это конечно хорошо, но можно ли в 3х словах о том как это делать? или хотя бы доки какие покурить на эту тему можно? С этой темой вообще сталкиваюсь впервые.
← →
Эцилоп (2011-09-08 00:57) [6]Оо почитал про перехват АПИ - сомневаюсь что мне это надо, кроме того это попахивает взломом приложения, т.е. если я буду перехватывать вызов функции приложением и вместо того что делала бы эта функция делать что то свое, т.е. получается, что вмешиваюсь в работу программы, подпадать под такие формулировки желания нет ))
Как уже было опробовано на скриптовом языке - кликнуть в окне приложения проблеммы нет, даже если оно за границами экрана, правда там двигается именно курсор мыши. Вопрос лишь в том, как это реализовать в делфи. При этом передавая в кликалку координаты относительно окна приложения.
← →
Eraser © (2011-09-08 02:26) [7]http://msdn.microsoft.com/en-us/library/ms646310(v=vs.85).aspx
← →
Anatoly Podgoretsky © (2011-09-08 09:27) [8]> Эцилоп (07.09.2011 22:50:01) [1]
Как не смешно, но mouse_event
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.12.18;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.004 c