Как мне симулировать один клик на Windows и Linux с помощью C? - PullRequest
0 голосов
/ 03 октября 2019

Какие библиотеки мне следует использовать?

Какую документацию я должен прочитать?

Может быть, кто-нибудь может оставить пример кода?

1 Ответ

1 голос
/ 03 октября 2019

В Windows, если вы хотите смоделировать щелчок мыши внутри определенного окна, соответствующие сообщения окна следующие (ссылка на документацию включена):

WM_LBUTTONDOWN

WM_LBUTTONUP

WM_LBUTTONDBLCLK (при втором щелчке это сообщение отправляется вместо WM_LBUTTONDOWN)

Для имитации щелчка мыши вы можете отправитьокно любого из этих оконных сообщений, используя функцию PostMessage () .

Для этой функции вам требуется дескриптор окна (HWND) для целевого окна. Это можно получить, например, используя функцию EnumWindows () или FindWindow () .

Однако, если вы хотите смоделировать щелчок мыши на экране вместовнутри определенного окна вам придется использовать функцию SendInput () . Для получения дополнительной информации см. этот вопрос о переполнении стека .

Кроме того, имейте в виду, что, начиная с Windows Vista, по соображениям безопасности больше невозможно отправлять процессы с правами администратора из сообщений, не являющихся администраторами. привилегированные процессы.

Приведенная выше информация относится только к Windows. К сожалению, я не могу помочь вам с Linux, но вы можете найти решение в этом вопросе переполнения стека .

...