Положение курсора WINAPI в окне приложения

Мне нужно написать небольшую программу, которая может знать, где пользователь нажимает кнопку или каким-либо образом в окнах приложений независимо от того, какие окна приложений изменяют размер.

Благодаря использованию Windows API теперь я могу получить только глобальную позицию щелчка курсора.

Я нашел небольшую программу из Китая, которая имеет аналогичную функцию, используя AHK для ее реализации. Возможно, автор использовал это (WinGetPos), см. изображение ниже:

введите здесь описание изображения

Итак, любая функция Windows API или другая функция QT5, C++ может помочь мне получить положение щелчка курсора окна приложения. (Я разрабатываю в QT5)

опубликуйте код здесь:

GetCursorPos (&screenpoint);
hwndFoundWindow = WindowFromPoint (screenpoint);
mp.DisplayInfoOnFoundWindow(QString::fromLocal8Bit("L"), hwndFoundWindow, pMouseStruct->pt.x, pMouseStruct->pt.y);

person geraldlim    schedule 08.05.2015    source источник
comment
Почему вы пытаетесь это сделать?   -  person David Heffernan    schedule 08.05.2015
comment
хотите обнаружить что-то, что эта программа использует на платформе лаборатории   -  person geraldlim    schedule 09.05.2015


Ответы (1)


Функция ScreenToClient в Windows API может использоваться для преобразования координат экрана в координаты окна (клиентской области). Вам нужно будет знать HWND окна вашего приложения.

person Mark Ransom    schedule 08.05.2015
comment
Я попробовал эту функцию сегодня утром, но похоже, что это глобальная позиция щелчка курсора. Может быть, я использую неправильный способ, я попробую больше - person geraldlim; 08.05.2015
comment
@geraldlim эта функция предназначена для преобразования глобальной позиции курсора в позицию относительно угла окна. - person Mark Ransom; 08.05.2015