Написать функцию на c++/winapi для эмуляции клика мышкой в программе.
350 UAHНаписать функцию на c++/winapi для эмуляции клика мышкой в программе BlueStacks, клик естественно должен заставлять игру/приложение - выполнять действие.
Код должен быть примерно такой
enum{LButton,RButton};
int HWND = 0;
bool getBlueStacksHWND( int& HWND ); // если для клика нужен другой параметр, а не дескриптор окна то делайте как считаете правильным.
bool BlueStacksWindowClick(const int& HWND , const bool& /*кнопка мыши*/ LButton, const int& x, const int& y );
Клик должен работать только над программой. Мои манипуляции мышью вне программы не должны ей мешать.
Должно работать в программе при условии что она будет в свернутом режиме. Это желательно, но если не осуществимо, то ладно.
Отзыв заказчика о сотрудничестве с Виктором Л.
Написать функцию на c++/winapi для эмуляции клика мышкой в программе.Все сделано как требовалось, спасибо
Отзыв фрилансера о сотрудничестве с Михаилом Царевым
Написать функцию на c++/winapi для эмуляции клика мышкой в программе.Устроило все: интересный проект, чёткая задача, быстрая оплата.
Я остался доволен и могу порекомендовать заказчика!
-
"в свернутом режиме." - в таком варианте вряд-ли получиться
-
"Должно работать в программе при условии что она будет в свернутом режиме."
Имеется в виду, что программа, которая генерирует клики мышкой должна быть свернута? Или что BlueStacks или программа в нем должна быть свернута, но клики мышки должны до нее долетать? -
- какая игра? это важно, чтобы знать как отслеживать куда/когда кликать
-
Только что попробовал программно отсылать клик в свернутый Paint. Как и ожидал, точка рисуется относительно ClientRect. Возможно стиля окна играют роль, хотя обработка сигналов от этого вроде не зависит.
C BlueStacks так же должно работать, главное правильный хендл найти/иметь.
-

у вас же ранее был выполнен аналогичный проект для Dota2... то решение не заработало для BlueStacks, что ли?
-

Если вариант с SendMessage/PostMessage не работает в ваших условиях, попробуйте SendInput API (пример). Окно BlueStacks должно быть активным (в фокусе и на переднем плане), чтоб это заработало.
-
Все на самом деле банально... главное раньше времени не паниковать))
Хотелось бы пополнить свои скромные знания/набраться вдохновения:
BlueStacks приложение на Windows. Допустим оно использует напрямую железо. Откуда железо знает, где находится курсор мыши в координатах рабочего стола, когда сам BlueStacks в оконном режиме? Как только мы "заходим" мышкой в окно приложения, Windows теряет контроль над происходящим, а приложение наооборот, полностью его заполучает? Черная дыра в Windows? С точки зрения архитектуры Windows было бы очень интересно посмотреть/либо разработать такое приложение.
На уровне драйверов можно много чего сделать (особенно на уровне ядра), но как только речь заходит о взаимодействии с пользователем, тут все обращаются к винде. Зачем писать для Windows и при этом всеми способами пытаться избегать ее API? Это как тренировать баскетбольную команду и выпустить играть ее на футбольное поле...
-
Неплохое решения использовать ADB
https://androidp1.ru/ispolzovanie-komandy-adb-shell-input-tap-i-shell-input-swipe/
-
Сергей, я ошибаюсь или у вас на самом деле повышенный интерес написать именно такую функцию, которая в окно в бэкграунде кликала бы? 😉
Хотя Антон прав, такой постановки задачи не было, но и мне теперь интересно, возможно ли это. Я уверен в своём решении, можно просто выбирать окна и переключать их в свернутом БлуСтексе, тут все просто (конечно надо заранее знать, сколько программ будут открыты, как смещаются табы во время активации другого окна и т.д.) . Вопрос следующий: что делает программа, когда переходит на задний план? Или вернее правильно будет спросить, что андроид делает с обычной аппликацией (не сервисом), когда она в бэкграунде? Не зная андроида, могу предположить, что ни одна (нормальная) игра не продолжает выполнять все те действия, что и в форграунде. Иначе после трёх-четырёх запущеных игрушек смартфон можно вместо грелки использовать. Да и, будь я разработчиком ОС, не позволял бы использовать к примеру ресурсы видеокарты, точно зная, что они не нужны приложению. Эмулятор вроде БлуСтекса вполне может вести себя по-другому, не различая между активным/неактивным приложением, но это под большим сомнением.
Поэтому, мне кажется это не только не возможно, но и бессмысленно тыкать в область, которая скорее всего не выполняет цикл обработки пользовательских команд.
-
Актуальные фриланс-проекты в категории C и C++
Реверс-инжиниринг консольных утилит для опроса контроллеров SSD (Flash ID)1. Цель работы Выделение программного интерфейса (API) взаимодействия с контроллерами SSD/NVMe из предоставленного набора консольных утилит (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron и др.). Результатом должно стать рабочий код на языке C/C++ или точная… C и C++, Десктопные приложения ∙ 7 дней назад ∙ 6 ставок |
Разработка карты семян Minecraft Java / просмотрщика семян для сайтаРазработка карты семян Minecraft Java / Seed Viewer для сайтаОписание проекта Необходимо разработать браузерный инструмент Minecraft Java Seed Map / Seed Viewer, который будет работать на нашем сайте и позволит пользователю ввести семя Minecraft Java Edition и просмотреть… C и C++, HTML и CSS верстка ∙ 7 дней 7 часов назад ∙ 15 ставок |
Сравнительный анализ эффективности кастомного ПО (v2.2-field) и эталонного ПО (Meshtastic v2.x)
1000 UAH
Сравнительный анализ эффективности кастомного ПО (v2.2-field) и эталонного ПО (Meshtastic v2.x) на идентичной аппаратной платформе (ESP32 + SX1268, 2W) по критериям дальности, пропускной способности, стабильности линка и энергопотребления. Провести тесты с замерами с учетом… C и C++, C# ∙ 11 дней 14 часов назад ∙ 2 ставки |
