WINAPI 光标在应用程序窗口上的点击位置
Posted
技术标签:
【中文标题】WINAPI 光标在应用程序窗口上的点击位置【英文标题】:WINAPI cursor click position on application window 【发布时间】:2015-05-08 14:20:48 【问题描述】:我需要编写一个小程序,它可以知道用户在何处单击按钮或以某种方式在应用程序窗口上单击,无论应用程序窗口改变大小。
通过使用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);
【问题讨论】:
你为什么要这样做? 想检测这个程序在实验室平台上使用的东西 【参考方案1】:Windows API 中的ScreenToClient
function 可用于将屏幕坐标转换为窗口(客户区)坐标。您需要知道应用程序窗口的 HWND。
【讨论】:
我今天早上尝试了这个功能,但看起来和全局光标点击位置一样。也许我用错了方法,我会尝试更多 @geraldlim 此函数旨在将全局光标位置转换为相对于窗口角的位置。以上是关于WINAPI 光标在应用程序窗口上的点击位置的主要内容,如果未能解决你的问题,请参考以下文章