Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.006 c
15-1314712629
Арксант
2011-08-30 17:57
2011.12.18
Загрузка в Image часть изображения


2-1315213805
Servy
2011-09-05 13:10
2011.12.18
Отправка Soap Headers


1-1277700449
George
2010-06-28 08:47
2011.12.18
Создание службы - отказывается запускаться


2-1315383105
Pushok
2011-09-07 12:11
2011.12.18
На форме исчезает TreeView


15-1314907012
Knight
2011-09-01 23:56
2011.12.18
Инсталляция программ Windows XP





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский