Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.14.142.115] |
|
Сообщ.
#1
,
|
|
|
Тема стара, но подниму её снова.
Задача такая, есть несколько приложений работающих в фоновом режиме, приложения сами на MFC - обычный диалог, но с динамическим содержимым, вывод биржевых графиков от сторонних разработчиков. Нужно одновременно в каждом перемещать мышь и нажимать на кнопки. Ключевое слово одновременно. Есть классический пример не работает вообще. PostMessage(hWnd, WM_MOUSEMOVE, 0, MAKELPARAM(x, y)); PostMessage(hWnd, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(x, y)); PostMessage(hWnd, WM_LBUTTONUP, MK_LBUTTON, MAKELPARAM(x, y)); В PreTranslateMessage сообщения приходят, отлавливаются, но само содержимое не реагирует на них. Второй вариант: INPUT input; input.type = INPUT_MOUSE; input.mi.dx = 10; input.mi.dy = 10; input.mi.dwFlags =( MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MOVE|MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP); input.mi.mouseData = 0; input.mi.dwExtraInfo=NULL; input.mi.time=10; SendInput(1, &input, sizeof(INPUT)); Работает, но это по сути просто отправка команд перемещения устройства на блок обработки ввода операционной системы. Запустить это сразу для двух приложений невозможно. Вопрос, возможно ли реализовать, что-то вроде SendInput, но что бы команды передавались только выбранному приложению или внутри приложения. Или же такой вариант невозможен в принципе. Это тоже будет результатом. |
Сообщ.
#2
,
|
|
|
По-моему невозможно, не могут же два приложения одновременно быть активными (фокус).
|
Сообщ.
#3
,
|
|
|
Цитата ter_nk_ @ По-моему невозможно, не могут же два приложения одновременно быть активными (фокус). Т.е. получается стандартным методом никак. |
Сообщ.
#4
,
|
|
|
Цитата MaIron @ Т.е. получается стандартным методом никак. По-моему никак. Я бы наверное думал в сторону как в каждом конкретном приложении создавать свою "псевдомышь" - курсор и отрисовывать ее поверх этого окна. |
Сообщ.
#5
,
|
|
|
Цитата MaIron @ Нужно одновременно в каждом перемещать мышь и нажимать на кнопки. Ключевое слово одновременно. А что важнее - нажимать на кнопки или перемешать мышь ? Или запускать обработчик нажатой кнопки из стороннего приложения ? |
Сообщ.
#6
,
|
|
|
Важнее перемещать мышь с нажатой кнопкой.
|
Сообщ.
#7
,
|
|
|
Вопрос остался нерешенным. Но актуальность потерял. Так, что закрываю тему.
|