Как создать несколько элементов управления мышью, которые работают отдельно в C #?

#c# #mouse #mouseevent #multipoint

#c# #мышь #mouseevent #многоточечный

Вопрос:

Я внедряю программу на C #, которая может «воспроизводить» несколько экземпляров игры одновременно. Действия созданного экземпляра основаны на моих действиях. Например, когда я нажимаю на позиции X, Y основного экземпляра, щелчок мыши будет в той же позиции во всех других созданных экземплярах.

Я могу выполнить щелчок мыши, мышь вниз, мышь вверх, подключив событие мыши, и имитировать один и тот же щелчок мыши по позиции в зависимости от положения каждого игрового окна. Однако этот подход не помогает, если дело доходит до перетаскивания мыши. И это приводит к некоторому снижению производительности, когда мне приходится перебирать все мои игровые экземпляры, чтобы выполнить виртуальный щелчок мыши.

Я узнал, что можно создать несколько мыши, используя MultiPoint SDK от Microsoft. Однако я не смог найти никакой документации о том, возможно ли имитировать несколько событий щелчка мышью (кроме моего) в C #? Если это так, то как я могу это сделать?

Спасибо

Ответ №1:

Если вы не работаете с программой, которую вы не писали, я думаю, вы можете использовать неправильный API для работы.

Если вам нужно написать сценарий нескольких действий в нескольких окнах, вам, вероятно, лучше запускать их последовательно. Это будет проще кодировать и отлаживать, и вам не придется делать ничего особенного. Просто напишите сценарий каждого действия последовательно, а затем выполните их.

Комментарии:

1. Вы имеете в виду использование Marco? Но он не поддерживает некоторые модификации в реальном времени. Поскольку это приложение похоже на эмулятор для «фактического» запуска игры на нем, мне нужно иметь возможность провести «реальный» игровой тест. В любом случае, этот подход кажется бессмысленным. Спасибо за ваше предложение.

2. Я имел в виду, что вместо того, чтобы пытаться использовать многоточечный API, нужно просто прописывать клики один за другим в нескольких окнах приложения. Если вам нужны действия в режиме реального времени, и вы не можете изменить код, я рекомендую вам развернуть несколько виртуальных машин и выполнить сценарии тестов по всей ферме.

3. Спасибо за ваше предложение. Я пытаюсь создать эмулятор на основе . вместо этого dll. Я отмечу ваш пост как ответ и закрою этот вопрос.